Os serviços do Windows Communication Foundation e serviços de dados do WCF em Visual Studio

Visual Studio2008 fornece ferramentas para trabalhar com o Windows Communication Foundation (WCF) e WCF Data Services, as tecnologias da Microsoft para a criação de aplicativos distribuídos. Este tópico fornece uma introdução aos serviços de um Visual Studio perspectiva.

O que é o WCF?

Windows Communication Foundation (WCF)é um framework unificado para criar aplicativos distribuídos de seguros, confiáveis, transacionados e interoperáveis. Em versões anteriores do Visual Studio, havia várias tecnologias que poderiam ser usadas para comunicação entre aplicativos.

If you wanted to share information in a way that enabled it to be accessed from any platform, you would use a Web service (also known as an ASMX Web service). Se você quisesse apenas mover dados entre um cliente e servidor em execução no sistema operacional Windows, você usaria.NET Remoting. If you wanted transacted communications, you would use Enterprise Services (DCOM), or if you wanted a queued model you would use Message Queuing (also known as MSMQ).

WCF brings together the functionality of all those technologies under a unified programming model. Isso simplifica a experiência de desenvolvimento de aplicativos distribuídos.

Quais são os serviços de dados do WCF

WCF Data Servicessão serviços que interagem diretamente com um banco de dados, permitindo que você retorne os dados usando verbos HTTP padrão, como GET, POSTAGEM, colocar ou excluir. Em geral, WCF Data Services são uma boa opção para aplicativos que são usados para criar, atualizar ou excluir registros em um banco de dados. Para obter mais informações, consulte ADO.Estrutura de serviços de dados do NET.

Modelo de programação do WCF

O modelo de programação do WCF baseia-se na comunicação entre duas entidades: um serviço WCF e um cliente WCF. O modelo de programação é encapsulado na System.ServiceModel namespace a .NET Framework.

Serviço WCF

Um serviço WCF baseia-se em uma interface que define um contrato entre o serviço e o cliente. Ele é marcado com um ServiceContractAttribute de atributo, como mostrado no código a seguir:

<ServiceContract()>
Public Interface IService1
[ServiceContract]
public interface IService1
<OperationContract()>
Function GetData(ByVal value As String) As String
[OperationContract]
string GetData(string value);

Você define as funções ou métodos que são expostos por um serviço WCF, marcando-os com um OperationContractAttribute atributo. Além disso, você pode expor os dados serializados marcando um tipo composto com um DataContractAttribute atributo. This enables data binding in a client.

After an interface and its methods are defined, they are encapsulated in a class that implements the interface. A single WCF service class can implement multiple service contracts.

Um serviço WCF é exposto para consumo por meio do que é conhecido como um ponto de extremidade. O ponto de extremidade fornece a única maneira de se comunicar com o serviço; não é possível acessar o serviço por meio de uma referência direta, como você faria com outras classes.

Um ponto de extremidade consiste em um endereço, uma ligação e um contrato. O endereço define onde o serviço está localizado; Isso poderia ser uma URL, um endereço FTP, ou uma rede ou caminho local. Uma ligação define a maneira que você se comunica com o serviço. Ligações do WCF fornecem um modelo de versátil para especificar um protocolo como, por exemplo, HTTP ou FTP, um mecanismo de segurança como, por exemplo, a autenticação do Windows ou nomes de usuário e senhas e muito mais. Um contrato inclui as operações que são expostas pela classe de serviço do WCF.

Vários pontos de extremidade podem ser expostos para um único serviço WCF. Isso permite que diferentes clientes se comuniquem com o mesmo serviço de maneiras diferentes. E/por exemplo, um serviço bancário pode fornecer um ponto de extremidade para funcionários e outra para clientes externos, cada um usando um endereço diferente, ligação, ou do contrato.

Cliente WCF

Um cliente WCF consiste em um proxy que permite que um aplicativo para se comunicar com um serviço WCF e um ponto de extremidade que corresponda a um ponto de extremidade definidos para o serviço. O proxy gerado no lado do cliente no arquivo app. config e inclui informações sobre os tipos e métodos que são expostos pelo serviço. Para serviços que exponham vários pontos de extremidade, o cliente pode selecionar aquele que melhor atende às suas necessidades, por exemplo, para se comunicar por HTTP e usar a autenticação do Windows.

Depois que um cliente WCF foi criado, você referenciar o serviço em seu código como faria com qualquer outro objeto. Por exemplo, para chamar o GetData método mostrado anteriormente, você poderia escrever um código semelhante ao seguinte:

  Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
      Dim client As New ServiceReference1.Service1Client
      Dim returnString As String

      returnString = client.GetData(TextBox1.Text)
      Label1.Text = returnString
  End Sub
private void button1_Click(System.Object sender, System.EventArgs e)
{
    ServiceReference1.Service1Client client = new
        ServiceReference1.Service1Client();
    string returnString;

    returnString = client.GetData(textBox1.Text);
    label1.Text = returnString;
}

WCF Tools in Visual Studio

Visual Studio2008 fornece ferramentas para ajudá-lo a criar serviços WCF e clientes do WCF. Para uma explicação passo a passo que demonstra as ferramentas, consulte Demonstra Passo a passo: Criando e acessando os serviços WCF.

Criando e testando serviços WCF

Você pode usar o WCF Visual Studio modelos como base para criar rapidamente seu próprio serviço. Em seguida, você pode usar o Host de automática do serviço WCF e o cliente de teste do WCF para depurar e testar o serviço. Juntas, essas ferramentas fornecem uma rápida e conveniente de depuração e o ciclo de testes e eliminam a necessidade de confirmar a um modelo de hospedagem mais cedo possível.

Modelos WCF

O WCF Visual Studio modelos fornecem uma estrutura de classe básica para desenvolvimento do serviço. Vários modelos WCF estão disponíveis na Add New Project caixa de diálogo. Isso inclui projetos do WCF Service Library, Sites de Web de serviço do WCF e modelos de Item de serviço do WCF.

Quando você seleciona um modelo, os arquivos são adicionados para um contrato de serviço, uma implementação de serviço e uma configuração de serviço. All necessary attributes are already added, creating a simple "Hello World" type of service, and you did not have to write any code. Você, claro, desejará adicionar código para fornecer funções e métodos para o serviço do mundo real, mas os modelos fornecem os princípios básicos.

Para saber mais sobre os modelos do WCF, consulte WCF Visual Studio Templates.

Host de serviço do WCF

Quando você iniciar o Visual Studio do depurador (pressionando F5) para um projeto de serviço do WCF, o Host de serviço do WCF é iniciada automaticamente para hospedar o serviço localmente. O Host de serviço do WCF enumera os serviços em um projeto de serviço do WCF, carrega a configuração do projeto e instancia um host para cada serviço que ele encontra.

Usando o Host de serviço do WCF, você pode testar um serviço WCF sem escrever código extra ou comprometimento de um host específico durante o desenvolvimento.

Para saber mais sobre o Host de serviço do WCF, consulte WCF Service Host (WcfSvcHost.exe).

Cliente de teste do WCF

A ferramenta cliente de teste do WCF permite que você teste parâmetros de entrada, submeter que a entrada para um serviço WCF e exibir a resposta que o serviço envia de volta. Ele fornece um serviço conveniente experiência em testes ao combinar com o Host de serviço do WCF.

Quando você pressiona F5 para depurar um projeto de serviço do WCF, o cliente de teste do WCF abre e exibe uma lista de pontos de extremidade de serviço são definidos no arquivo de configuração. Os parâmetros de teste e iniciar o serviço e repita este processo para continuamente testar e validar o seu serviço.

Para saber mais sobre o cliente de teste do WCF, consulte WCF Test Client (WcfTestClient.exe).

Acessando os serviços WCF no Visual Studio

Visual Studio2008 simplifica a tarefa de criação de clientes do WCF, automaticamente, gerando um proxy e um ponto de extremidade para serviços que você adicionar, usando o Add Service Reference caixa de diálogo. Todas as informações de configuração necessárias são adicionadas ao arquivo app. config. A maioria das vezes, tudo o que você precisa fazer é instanciar o serviço para usá-lo.

O Add Service Reference caixa de diálogo permite que você digite o endereço de um serviço ou para procurar por um serviço que é definido em sua solução. A caixa de diálogo retorna uma lista de serviços e as operações fornecidas por esses serviços. Ele também permite definir o espaço para nome pelo qual você fará referência os serviços no código.

O Configurar referências de serviço caixa de diálogo permite que você personalize a configuração de um serviço. You can change the address for a service, specify access level, asynchronous behavior, and message contract types, and configure type reuse.

Title

Description

Demonstra Passo a passo: Criando e acessando os serviços WCF

Fornece uma demonstração passo a passo de criação e uso de serviços WCF no Visual Studio.

Demonstra Passo a passo: Criando e acessando um serviço de dados do WCF no Visual Studio

Fornece uma demonstração passo a passo de como criar e usar WCF Data Services na Visual Studio.

Using the WCF Development Tools

Discute como criar e testar os serviços WCF no Visual Studio.

Como: Adicionar, atualizar ou remover uma referência de serviço

Descreve como adicionar, atualizar ou remover os serviços WCF de um projeto.

Como: Adicionar, atualizar ou remover uma referência de serviço do WCF de dados

Discute como referência e usar WCF Data Services na Visual Studio.

Como: Adicione uma referência a um serviço da Web

Descreve como adicionar uma referência a um Web service XML (ASMX) a um projeto.

Como: Selecione um ponto de extremidade de serviço

Descreve como selecionar um ponto de extremidade de um serviço do WCF expõe vários pontos de extremidade.

Como: Chamar um método de serviço de forma assíncrona

Descreve como chamar um serviço WCF de forma assíncrona.

Como: Vincular os dados retornados por um serviço

Descreve como ativar a vinculação de dados para um serviço WCF.

Como: Configurar um serviço para reutilizar os tipos existentes

Descreve como habilitar ou desabilitar o tipo de compartilhamento para um serviço WCF.

Solucionando problemas de referências de serviço

Apresenta alguns erros comuns que podem ocorrer com referências de serviço e como evitá-los.

Depuração dos serviços WCF

Descreve problemas comuns de depuração e técnicas que você pode encontrar ao depurar serviços WCF.

Visão geral do serviço de autenticação Windows Communication Foundation

Descreve como usar o WCF para fornecer um serviço de função para um site da Web.

Messaging in the .NET Compact Framework

Descreve o suporte para a camada de mensagens do WCF na.NET Compact Framework.

Demonstra Passo a passo: Criando um aplicativo de dados N-Tier.

Provides step-by-step instructions for creating a typed dataset and separating the TableAdapter and dataset code into multiple projects.

Adicionar caixa de diálogo de referência de serviço

Descreve os elementos de interface do usuário do Add Service Reference caixa de diálogo.

Configurar a caixa de diálogo de referência de serviço

Descreve os elementos de interface do usuário do Configurar o serviço de referência caixa de diálogo.

Reference

System.ServiceModel

System.Data.Services