Compartilhar via


Escolher opções de comunicação em .NET

With the Introduction of the .NET Framework 3.0 and the Windows Communication Foundation (WCF), a número of different Technologies have been brought together in a modelo Unified programação. WCF serves as the próximo versão of Enterprise Serviços, Web ASMX Serviços, WSE, MSMQ, and .NET Remoting. The text that follows Aplica-se a the .NET Framework 2.0. Para obter mais informações sobre WCF e o .NET Framework 3.0, consulte: O Windows Communication Foundation.

O .NET Framework fornece vários meios de comunicação com os objetos nos domínios de aplicativos diferentes, cada criados com um determinado nível de experiência e a flexibilidade em mente. For exemplo, the aumento of the Internet has made Web XML Serviços método an attractive of Communication because Web XML Serviços are compilado on the comum Infrastructure of the protocolo HTTP and which uses XML, formato SOAP. These are Standards Public and can be used immediately with atual Web infrastructures without worrying Sobre Additional Issues proxy or firewall.

Como muitos aplicativos requerem funcionalidade que não tem suporte para serviços da Web criado usando o ASP.NET, alguns aplicativos não podem usar serviços da Web ASP.NET. Use the seguinte seção to Ajuda you decide which tipo of distribuído suporte aplicativo you desejar For Your aplicativo.

ASP.NET, Corporativa de serviços ou sistema de interação remota .NET

ASP.NET, empresa Serviços, e arquitetura de comunicação remota do.NET são implementações de comunicação entre processos (comunicação entre processos). ASP.NET Provides an Infrastructure, Hosted by Serviços de Informações da Internet (IIS), that Handles Basic Tipos well, supports some avançado serviço da Web Protocols (When Used with Web Service Extensions (WSE)), and is familiar to Developers aplicativo da Web. Enterprise Serviços is a gerenciado implementação of COM+ AND Provides All the flexibility and richness of the arquitetura COM+. Sistema de interação remota .NET é um sistema IPC genérico e extensível que pode ser Self-Hosted ou hospedado no IIS para desenvolver e implantar aplicativos orientados a objeto distribuídos. Arquitetura pluggable 's arquitetura de comunicação remota do.NET allows for personalizado Protocols and rede com fio Formatos.

Sua escolha entre os modelos de programação deve ser orientada por três critérios principais: requisitos de negócios, requisitos de integração e você estiver familiarizado com o modelo de programação. Além disso, os critérios a seguir (listados na ordem de prioridade) podem ajudar você escolher o tipo apropriado de tecnologia de aplicativos distribuídos:

  1. Requisitos de segurança

    Of the three Models programação, Services Enterprise has the set richest of Segurança Features and satisfies Scenarios Most. O ASP.NET fornece autenticação por meio do IIS e criptografia através de SSL e é útil para proteger aplicativos de escala da Internet. A segurança do sistema de interação remota .NET aumentou com a versão mais recente do .NET Framework. Em versões anteriores do .NET Remoting, se é necessário para criptografar suas chamadas ou autenticar o cliente, você precisava usar um aplicativo com base em HTTP hospedado no IIS, se ele era um aplicativo ASP.NET ou um aplicativo do sistema de interação remota. Na versão atual, a TcpChannel e o HttpChannel suportam criptografia SSPI e a autenticação integrada do Windows. Also the IpcChannel supports autenticação Windows and direcionar configuração of the controle de acesso Lista (ACL) on the nomeado pipe. Because it is not recommended to Use remoto Objects Na Horizontal the Internet, there are Now Scenarios few That Require HttpChannel. Se você deve comunicar Na Horizontal o Internet, é recomendável que você use ASP.NET para criar XML Web Services.

    Dica

    Por motivos de segurança, é altamente recomendável para expor os pontos de extremidade do sistema de interação remota através de canais seguros.Nunca expor os pontos de extremidade inseguro Remoting com a Internet.

  2. Interoperação

    Se você deve interoperar entre diferentes sistemas operacionais, você deve usar Serviços Web XML criado pelo ASP.NET. Arquivos ASP.NET lhe consideravelmente mais flexibilidade na definição a forma e estilo de comunicação SOAP de arquitetura de comunicação remota do.NET. Essa flexibilidade pode tornar interoperar com diferentes plataformas e clientes mais fácil. Arquitetura de comunicação remota do.NET is not intended for interoperation with platforms Outro than .NET.

    Arquitetura de comunicação remota .NET Framework is not intended to interoperate with Web Serviços. Para obter mais informações Sobre escolher entre serviços da Web e arquitetura de comunicação remota, consulte " How to escolher entre serviços da Web, arquitetura de comunicação remota e Enterprise Services " em Práticas recomendadas de desempenho em uma breve visão doe "Prescriptive orientações para serviços da Web escolher, os Serviços Corporativos e sistema de interação remota .NET" em aprimorando a desempenho de aplicativos .NET e a escalabilidade.

  3. Velocidade

    If Speed is a factor driving, Enterprise truly Serviços Provides the melhor desempenho for distribuído Applications. Há pouca diferença no desempenho entre .NET Remoting e os arquivos do ASP.NET após um aplicativo requer o processamento do mundo real. If You Use arquitetura de comunicação remota do.NET, the TcpChannel with the BinaryFormatter has the melhor desempenho Na Horizontal machines. No mesmo Computador, a IpcChannel com o BinaryFormatter deve ser usado.

  4. Escalabilidade

    Que hospeda o aplicativo dentro do IIS fornece a escalabilidade que precisar. Self-hosting arquitetura de comunicação remota do.NET would Require you to Compilação Your own Infrastructure Scaling. Se você estiver pensando usando o IIS com .NET Remoting para obter a escalabilidade, considere serviços da Web criados usando o ASP.NET em vez disso.

  5. Uso comum Idioma tempo de execução recursos

    Both Services Enterprise and arquitetura de comunicação remota do.NET take advantage Better of clients .NET, so that you can use the Features .NET in your aplicativo that are não disponível to an serviço da Web XML Criado by Using ASP.NET, including:

    • Interfaces.

    • CallContext .

    • Propriedades.

    • Indexadores.

    • C++.

    • Type fidelidade between the Cliente e Servidor Applications.

    • If these Features are crítico, escolher Enterprise Serviços, IF possible, and then arquitetura de comunicação remota do.NET.

  6. Design do aplicativo orientada a objeto

    Both Enterprise Serviços and Objects are objects and can be treated as such. Como resultado, você pode usar os recursos orientados a objeto a seguir em seu aplicativo que não estão disponíveis para o ASP.NET.

    • Objeto referências a objetos remotos.

    • Várias opções de ativação de objeto.

    • Gerenciamento de estado orientada a objeto.

    • Objeto distribuído gerenciamento vida útil.

    • If these Features are crítico, escolher Enterprise Serviços, IF possible, and then arquitetura de comunicação remota do.NET.

  7. Personalizar Transports or Formats rede com fio

    If You need to suporte personalizado Transports (For exemplo, protocolo UDP (UDP)) or personalizado rede com fio Formatos (For exemplo, CSV), arquitetura de comunicação remota do.NET is the arquitetura only pluggable that can meet these Requirements.

  8. Comunicações de domínio de aplicativos cruzados

    Se você precisar oferecer suporte a comunicação entre objetos em domínios de aplicativos diferentes dentro do mesmo processo, você deve usar .NET Remoting.

The seguinte Seções include a BRIEF Summary of some of the Differences Between Created by Using ASP.NET, the namespace System.Net, Enterprise Services, and arquitetura de comunicação remota do.NET XML Web Services.

Serviços XML da Web

XML Web Services Created by Using trabalho ASP.NET well If You compilar Aplicativos Active Server Pages (ASP) by Using the Web Aplicativo modelo and the tempo de execução ASP.NET HTTP, including suporte STRONG in Microsoft Visual Studio.NET. Com a infra-estrutura do serviço da Web em XML, você pode facilmente criar componentes para outros aplicativos para usar ou usar componentes que outras pessoas têm criado usando protocolos, formatos e tipos de dados mais apropriados para aplicativos baseados na Web. EXACT fidelidade tipo between Computadores is not com suporte, and only some Types of Arguments can be Passed. Para obter mais informações, consulte Serviços da Web XML Criado usar ASP.NET e XML os clientes do serviço da Web.

Sistema.NET namespace

You can use the classes in the namespace System.Net to Compilação an estrutura Communication Entire from the Soquete nível. Você também pode usar as classes System.Net para implementar protocolos de comunicação e formatos de serialização que você pode conectar a arquitetura do sistema de interação remota. Para obter mais informações, consulte Programação de redes.

Services Corporativa

Empresa Serviços amplia o infra-estrutura da arquitetura de comunicação remota do.NET para fornecer todas as a riqueza e flexibilidade do distribuído COM+ modelo objeto, incluindo suporte para amplamente-distribuído transações.

Sistema de interação remota .NET

Arquitetura de comunicação remota do.NET Provides the Tools for any número of abrangente Scenarios Communication That Include Web XML Serviços. Usando .NET Remoting, você pode:

  • Publish or consumir Serviços in any tipo of domínio do aplicativo, whether that domínio is a aplicativo console, Windows Form, IIS, serviço da Web XML, or Service Windows.

  • Preserve Completo fidelidade sistema de tipos código gerenciado in binário formatado Communications, including suporte for genérico Types.

    Dica

    Web XML Serviços formato SOAP, which not use preservar all Details tipo.

  • Passar objetos por referência e retornar a um objeto específico em um domínio determinado aplicativo.

  • Controlar as características de ativação e objeto vidas úteis diretamente.

  • Implementar e usar canais de terceiros ou protocolos para estender a comunicação atender às suas necessidades específicas.

  • Participar diretamente o processo de comunicação para criar a funcionalidade que necessária.

Consulte também

Outros recursos

Sistema de interação remota .NET

Visão geral sobre a arquitetura de comunicação remota do .NET Framework

Exemplos do sistema de interação remota

O sistema de interação remota avançado

Windows Communication Foundation