2012-09-06 3 views
0

Сервер COM + уже запущен. Я вижу это в сервисах.Настроить сервер COM +

Теперь я хочу установить/настроить новую версию этого компонента. Итак, я прекращаю обслуживание. Скопируйте новый файл com + dll и exe в местоположение. Запустите службу, и я получаю следующую ошибку.

Remoting configuration failed with the exception 'System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted 
    at System.Runtime.Remoting.Channels.Http.HttpServerChannel.StartListening(Object data) 
    at System.Runtime.Remoting.Channels.Http.HttpServerChannel.SetupChannel() 
    at System.Runtime.Remoting.Channels.Http.HttpServerChannel..ctor(IDictionary properties, IServerChannelSinkProvider sinkProvider) 
    at System.Runtime.Remoting.Channels.Http.HttpChannel..ctor(IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider) 
    --- End of inner exception stack trace --- 
    at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType) 
    at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType) 
    at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) 
    at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) 
    at System.Runtime.Remoting.RemotingConfigHandler.CreateChannelFromConfigEntry(ChannelEntry entry) 
    at System.Runtime.Remoting.RemotingConfigHandler.ConfigureChannels(RemotingXmlConfigFileData configData, Boolean ensureSecurity) 
    at System.Runtime.Remoting.RemotingConfigHandler.ConfigureRemoting(RemotingXmlConfigFileData configData, Boolean ensureSecurity)'. 

я получаю ту же ошибку, когда я запускаю его в Visual Studio из приложения консоли, которая устанавливается в качестве службы и потребляет COM + сервер.

Еще один момент, который следует отметить, заключается в том, что приложение консоли не работает в приложении RemoteConfiguration.Configure. В качестве теста я сделал отдельное консольное приложение для прямого вызова COM-компонента с использованием ключевого слова «новое», которое отлично работает.

Что мне здесь не хватает?

+0

Есть COM + ваш единственный вариант? Можете ли вы использовать общую .dll или веб-службу? – jrummell

+0

@jrummell - Я должен придерживаться COM +, поскольку он уже работает. Мне просто нужно установить новую обновленную версию. – peacefulmember

+0

Не очень уверен, что это имеет много общего с COM +. Ошибка указывает, что у вас есть пара IP/port, используемая каналом удаленного доступа. Выполняется ли это более одного раза или плохо конфигурируется (используя порт, который вы не ввели)? – tcarvin

ответ

0

Я думаю, вам нужно импортировать компонент в службы COM, используя параметры в разделе «Службы компонентов» на панели управления. Если вы просто скопируете новые объекты поверх старых, новый компонент не будет зарегистрирован.

+0

Можете ли вы привести пример того, как его зарегистрировать? У меня есть клиентское приложение, зарегистрированное в разделе «Службы компонентов», и у меня сложилось впечатление, что в службах компонентов необходимо зарегистрировать только прокси-сервер. – peacefulmember