comunicação remota .net no Vista

votos
2

Eu tenho um aplicativo que se comunica com um serviço wndows via comunicação remota .net.

Sob XP isto é tudo bem, mas quando eu executar o mesmo código no Vista eu recebo a exceção

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)

Eu tentei girar o firewall off, executando o serviço no mesmo contexto usuário como o usuário que está logado sem sucesso.

Existe algo sobre o Vista que não permite a comunicação entre serviços e aplicativos do usuário via comunicação remota .net?

alguém mais viu isso?

Publicado 19/05/2009 em 18:57
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Eu nunca veio com uma resolução para este. Mas em vez de usar TCP para comunicação remota, eu usei o protocolo ipc que veio com .NET 2.0 (este foi um projeto convertido a partir de 1.1).

Especificando o grupo autorizado ficou em torno esse problema:

  <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>
Respondeu 20/05/2009 em 19:05
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more