Escolhendo um canal

A infra-estrutura do .NET Framework Remoting fornece as seguintes implementações do canal:

IpcChannel

The classe IpcChannel uses nomeado pipes to provide entre processos high-speed Communication for múltiplo processo Applications on the same Computador. Um IpcChannel:

  • Se comunica entre remetente e destinatário usando pipes nomeados.

  • Supports codificação payloads in binário Formatar and the padrão Industry serialização SOAP Formatar.

  • Gera e consome ChannelDataStore para referências de objeto.

  • Oferece suporte a representação e delegação.

  • Supports acessar Controlar Lists (ACL) on the nomeado pipe for avançado acessar Controlar.

Use um IpcChannel quando um aplicativo deve se comunicar com outro aplicativo que é executado em um processo diferente no mesmo computador. Because the IpcChannel uses pipes, Applications generally can Obtain the Mais alto Communication While still being able to Use and to to the . This Functionality is especially useful between the segundo and Third tiers of a three-aplicativo camada that must executar well under carregar.

TcpChannel

The classe TcpChannel uses a binário formatador to serializar all Mensagens to a binário transmitir and to transporte the transmitir to the destino URI (Uniform Resource Identifier) (URI) by Using the protocolo TCP. Um TcpChannel executa as seguintes funções.

  • Se comunica entre remetente e destinatário usando soquetes TCP.

  • Supports codificação payloads in binário Formatar and the padrão Industry serialização SOAP Formatar.

  • Gera e consome ChannelDataStore para referências de objeto.

  • Oferece suporte a representação e delegação.

  • Oferece suporte à criptografia SSPI.

A TcpChannel opens and caches as muitos Connections as there are threads making requests to another servidor at that moment. Conexões de soquete são fechadas no cliente após 15-20 segundos de inatividade.

Se você estiver criando um número de aplicativos que usam o .NET Framework Remoting, ele poderá ser fácil de usar indevidamente um HttpChannel para se conectar a um domínio de aplicativo do servidor que escuta com um TcpChannel. Se você fizer essa conexão, o cliente recebe a seguinte exceção: " A conexão subjacente estava fechada: Ocorreu um erro inesperado em um Receber." If You have a cliente that receives this exceção, you should Marcar the cliente and the servidor for channels Mismatched.

HttpChannel

A classe HttpChannel Transporta mensagens para e de objetos remotos por meio do protocolo SOAP. All Mensagens are Passed Through a SoapFormatter, where the mensagem is changed into XML and serializado and the exigido Headers SOAP Are Added to the transmitir. Se o formatador binário também for especificado, será criado um fluxo de dados binários. O fluxo de dados, em seguida, é transportado para o URI de destino usando o protocolo HTTP. Um HttpChannel é compatível com SOAP 1.1 e executa as seguintes funções:

  • Se comunica entre remetente e destinatário usando o protocolo HTTP como um transporte.

  • Supports codificação payloads in which is an XML, SOAP codificação padrão, as well as a binário Formatar.

  • Define o receptor para receber solicitações HTTP e enviar respostas HTTP em ASP.NET e em um soquete TCP.

  • Gera e consome ChannelDataStore para referências de objeto.

  • Oferece suporte a representação e delegação.

  • Oferece suporte à criptografia SSPI.

Dica

To Use a HttpChannel on the cliente with Microsoft Internet Explorer, You Cannot Set the configuração Automatic of proxy Configurações in Internet Explorer.Em vez disso, você deve definir explicitamente as configurações de proxy no Internet Explorer.

Um HttpChannel abre somente um número especificado de conexões ao mesmo tempo para um determinado servidor. O padrão é dois, mas você pode usar o atributo clientConnectionLimit em um arquivo de configuração do aplicativo para alterar o padrão.

Se você estiver criando um número de aplicativos que usam o .NET Framework Remoting, ele poderá ser fácil de usar indevidamente um HttpChannel para se conectar a um domínio de aplicativo do servidor que escuta com um TcpChannel. Se fizer isso, o cliente recebe a seguinte exceção: " A conexão subjacente estava fechada: Ocorreu um erro inesperado em um Receber." If You have a cliente that receives this exceção, you should Marcar the cliente and the servidor for channels Mismatched.

Consulte também

Conceitos

Canais

Referência

HttpChannel

TcpChannel

IpcChannel