2009-05-19 39 views
2

我有一個應用程序通過.net遠程處理與wndows服務進行通信。.net遠程處理在Vista中

在XP下,這是所有罰款,但是當我在Vista上運行相同的代碼我得到的異常

System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8969 

Server stack trace: 
    at System.Net.Sockets.Socket.Connect(IPAddress[] addresses, Int32 port) 
    at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(AddressFamily family) 
    at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket() 
    at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket() 
    at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew) 
    at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream) 
    at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) 
    at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg) 

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 

我試着打開防火牆關閉,運行中的用戶相同的用戶上下文服務這是登錄到無濟於事。

有沒有關於Vista,不允許通過.net遠程處理服務和用戶應用程序之間的通信?

有沒有其他人看到過這個?

回答

0

我從來沒有想出這個決議。但是,我沒有使用tcp進行遠程處理,而是使用了.net 2.0附帶的ipc協議(這是從1.1版轉換而來的項目)。

指定授權組得到了解決此問題:

<system.runtime.remoting> 
     <application name="MyService"> 
     <service> 
      <wellknown type="MyAssembly.MyServiceProxy, MyService" objectUri="FrontdeskSyncService.rem" mode="Singleton" /> 
     </service> 
     <channels> 
      <channel ref="ipc" portName="server" authorizedGroup="Everyone"> 
      <serverProviders> 
       <formatter ref="binary" typeFilterLevel="Full" /> 
      </serverProviders> 
      </channel> 
     </channels> 
     </application> 
    </system.runtime.remoting>