Pergunta

Dado que meu código cliente sabe tudo o que precisa sobre o objeto remoto, qual é a maneira mais simples de conectar-se a ele?

Isso é o que estou fazendo no momento:

ChannelServices.RegisterChannel(new HttpChannel(), false);

RemotingConfiguration.RegisterWellKnownServiceType(
    typeof(IRemoteServer), "RemoteServer.rem", WellKnownObjectMode.Singleton);

MyServerObject = (IRemoteServer)Activator.GetObject(
    typeof(IRemoteServer),
    String.Format("tcp://{0}:{1}/RemoteServer.rem", server, port));
Foi útil?

Solução

As duas primeiras linhas estão no código do lado do servidor, para organizar o objeto do servidor, certo?

Nesse caso, sim, a terceira linha é a mais simples que você pode obter no lado do cliente.

Além disso, você pode fornecer objetos adicionais do lado do servidor a partir do MeuServidorObject por exemplo, se você incluir acessadores públicos para eles em IRemoteServer interface, portanto, acessar esses objetos torna-se uma simples questão de chamadas de método ou acessos de propriedade em seu objeto de servidor principal, para que você não precise usar o ativador para cada coisa:

//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();

Outras dicas

WCF.

Eu usei o IPC antes do WCF e, acredite, o IPC é um urso.E não está documentado de forma completa/correta.

Qual é a maneira mais simples de conectar-se a um objeto de servidor remoto .NET?WCF.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top