Compartilhar via


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

Essa explicação passo a passo demonstra como criar WCF Data Services simples que é hospedado em um aplicativo de ASP.NET e então acesse-o de um aplicativo de formulários do Windows.

Nessa explicação passo a passo você:

  • Crie um aplicativo da Web hospedar WCF Data Services.

  • Crie Modelo de Dados de Entidade que representa a tabela clientes no banco de dados Northwind.

  • Crie um WCF Data Services.

  • Crie um aplicativo cliente e adicione uma referência a WCF Data Services.

  • Habilitar associação de dados para o serviço e gera a interface do usuário.

  • Opcionalmente adicionar recursos de filtragem para o aplicativo.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

Criando o serviço

Para criar WCF Data Services, você adicionará um projeto da Web, cria Modelo de Dados de Entidadee em seguida, cria o serviço do modelo.

A primeira etapa, você adicionará um projeto da Web para hospedar o serviço.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Para criar o projeto da Web

  1. No menu de Visual StudioArquivo , clique em Novo Projeto.

  2. Na caixa de diálogo Novo Projeto, expanda o nó Visual Basic ou Visual C# e clique em Web e, em seguida selecione Aplicativo de Web Forms ASP.NET.

  3. No campo de Nome , o tipo NorthwindWeb, e clique em OK para criar o projeto.

Nesta etapa, você criará Modelo de Dados de Entidade que representa a tabela clientes no banco de dados Northwind.

Para criar o modelo de dados de entidade

  1. No menu Project, clique em Add New Item.

  2. Na caixa de diálogo de Adicionar novo item , Dadosselecione, e então selecione Modelo de Dados de Entidade ADO.NET.

  3. No campo de Nome , digite NorthwindModel, clique em Adicionar.

    O assistente de modelo de dados de entidade aparecerá.

  4. No assistente de modelo de dados de entidade, Gere de banco de dadosselecione, e clique em Avançar.

  5. Na página de Escolha a Conexão de Dados , execute uma das seguintes etapas:

    • Se uma conexão de dados para o banco de dados de exemplo Northwind estiver disponível na lista drop-down, selecione-o.

      -  ou  -

    • Clique Nova Conexão para configurar uma nova conexão de dados.Para obter mais informações, consulte How to: Create Connections to SQL Server Databases.

  6. Se o banco de dados exige uma senha, selecione a opção para incluir dados confidenciais, e clique Next.

    ObservaçãoObservação

    Se uma caixa de diálogo aparecer, clique Sim para salvar o arquivo ao seu projeto.

  7. Na página de Escolher Objetos do Banco de Dados , expanda o nó de Tabelas , selecione a caixa de seleção ao lado de Clientes, clique em Concluir.

    O diagrama de modelo de entidade será exibido, e um arquivo de NorthwindModel.edmx será adicionado ao seu projeto.

Nesta etapa, você criará e testará o serviço de dados.

Para criar o serviço de dados

  1. No menu Project, clique em Add New Item.

  2. Na caixa de diálogo de Adicionar novo item , Web selecione e selecione o Serviço de dados WCF.

  3. No campo de Nome , digite NorthwindCustomers, clique em Adicionar.

    O arquivo de NorthwindCustomers.svc aparecerá em Editor de Códigos.

  4. Em Editor de Códigos, localize o primeiro comentário de TODO: e substitua o código a seguir:

    Inherits DataService(Of northwindEntities)
    
    public class NorthwindCustomers : DataService<northwindEntities>
    
    ObservaçãoObservação

    Dependendo da versão do banco de dados Northwind que você está usando, você pode ter que alterar “NORTHWIND” a “NORTHWND”.Você também pode usar o IntelliSense para descobrir o nome correto.

  5. Substitua os comentários no manipulador de eventos de InitializeService com o seguinte código:

    config.SetEntitySetAccessRule("*", EntitySetRights.All)
    
    config.SetEntitySetAccessRule("*", EntitySetRights.All);
    
  6. Pressione Ctrl+F5 para executar o serviço.Uma janela do navegador abrirá e o esquema XML para o serviço será exibido.

  7. Na barra de Endereço , o tipo Clientes no final do URL para NorthwindCustomers.svc, e pressione ENTER.

    Uma representação XML de dados na tabela clientes será exibida.

    ObservaçãoObservação

    Em alguns casos, o Internet Explorer os dados errado interpretará como uma alimentação RSS.Você deve certificar-se que a opção para exibir alimentações RSS está desativada.Para obter mais informações, consulte Solucionando problemas de referências de serviço.

  8. Feche a janela do navegador.

Próxima, você criará um aplicativo cliente de formulários do Windows consumir o serviço.

Criando um aplicativo cliente

Para criar o aplicativo cliente, você adicionará um segundo projeto, adicione uma referência de serviço para o projeto, configurar uma fonte de dados, e criar uma interface de usuário para exibir os dados do serviço.

A primeira etapa, você adicionará formulários do Windows projetos na solução e defina-a como o projeto de inicialização.

Para criar o aplicativo cliente

  1. No menu de Visual StudioArquivo , clique em Adicionar, e clique em Novo Projeto.

  2. Na caixa de diálogo Novo Projeto, expanda o nó Visual Basic ou Visual C# e clique em Janelas e, em seguida selecione Aplicativo do Windows Forms.

  3. No campo de Nome , o tipo NorthwindClient, e clique em OK para abrir o projeto.

  4. Em Gerenciador de Soluções, selecione o projeto de NorthwindClient.

  5. No menu de Projeto , clique em Definir como projeto de inicialização.

Nesta etapa, você irá adicionar uma referência de serviço a WCF Data Services no projeto da Web.

Para adicionar uma referência de serviço

  1. No menu de Projeto , clique Adicionar referência de serviço.

  2. Na caixa Adicionar serviço de referência caixa de diálogo, clique em Descubra .

    A URL para O serviço de NorthwindCustomers aparecerá no campo de Endereço .

  3. Clique em OK para adicionar a referência do serviço.

Nesta etapa, você irá configurar uma fonte de dados para habilitar associação de dados para o serviço.

Para habilitar associação de dados para o serviço

  1. No menu Data, clique em Show Data Sources.

  2. Na janela Data Sources, clique em Add New Data Source.

  3. Na página de Escolher um Tipo de Fonte de Dados de Assistente para Configuração de Fonte de Dados, clique em Objeto, e clique em Avançar.

  4. Na página de Selecione o Objeto que Deseja Ligar , expanda o nó de NorthwindClient em seguida, expanda o nó de NorthwindClient.ServiceReference1 .

  5. ClientesSelecione, e clique em Concluir.

Nesta etapa, você irá criar a interface do usuário que exibirá os dados do serviço.

Para criar a interface do usuário

  1. Arraste o nó de Clientes da janela de Fontes de Dados ao formulário.

    Um controle de DataGridView , um componente de BindingSource , e um componente de BindingNavigator são adicionados ao formulário.

  2. Clique duas vezes no formulário para abrir o editor de códigos, e adicione o seguinte código ao manipulador de eventos de Form1_Load :

           Dim proxy As New ServiceReference1.northwindModel.northwindEntities _
    (New Uri("https://localhost:53161/NorthwindCustomers.svc/"))
           Me.CustomersBindingSource.DataSource = proxy.Customers
    
               ServiceReference1.northwindModel.northwindEntities proxy = new
    ServiceReference1.northwindModel.northwindEntities(new
    Uri("https://localhost:53397/NorthwindCustomers.svc/"));
               this.customersBindingSource.DataSource = proxy.Customers;
    
    ObservaçãoObservação

    Dependendo da versão do banco de dados Northwind que você está usando, você pode ter que alterar “NORTHWIND” a “NORTHWND”.Você também pode usar o IntelliSense para descobrir o nome correto.

  3. Em Gerenciador de Soluções, clique com o botão direito do mouse no arquivo de NorthwindCustomers.svc e clique Exibir no navegador.Internet Explorer e abrirá o esquema XML para o serviço será exibido.

  4. Copie o URL da barra de endereços do Internet Explorer.

  5. No código que você adicionou na etapa 2, selecione https://localhost:14735/NorthwindCustomers.svc e substitui o com o URL que você copiou apenas.

  6. Pressione F5 para executar o aplicativo.Informações de cliente será exibida.

Agora você tem um aplicativo trabalhando que exibe uma lista de clientes do serviço de NorthwindCustomers.Se você deseja expor dados adicionais com o serviço, você pode alterar Modelo de Dados de Entidade para incluir tabelas adicionais de banco de dados Northwind.

Na próxima etapa opcional, você aprenderá como filtrar os dados que são retornados pelo serviço.

Adicionando recursos de filtragem

Nesta etapa, você irá personalizar o aplicativo filtrar os dados por cidade de cliente.

Para adicionar a filtragem pela cidade

  1. Em Gerenciador de Soluções, clique duas vezes em Form1.cs ou Form1.vb para exibir o designer de formulários do Windows.

  2. Arraste um controle de TextBox e um controle de Button de Caixa de Ferramentas para o formulário.

  3. Clique duas vezes no controle de Button , e adicione o seguinte código ao manipulador de eventos de Button1_Click :

           Dim proxy As New ServiceReference1.northwindModel.northwindEntities _
    (New Uri("https://localhost:53161/NorthwindCustomers.svc"))
           Dim city As String = TextBox1.Text
    
           If city <> "" Then
               Me.CustomersBindingSource.DataSource = From c In _
            proxy.Customers Where c.City = city
           End If
    
            ServiceReference1.northwindModel.northwindEntities proxy = new
     ServiceReference1.northwindModel.northwindEntities(new
     Uri("https://localhost:53397/NorthwindCustomers.svc/"));
        string city = textBox1.Text;
    
    if (city != "")
    {
        this.customersBindingSource.DataSource = from c in
     proxy.Customers where c.City == city select c;   
    
  4. No código anterior, substitua https://localhost:14735/NorthwindCustomers.svc com o URL do manipulador de eventos de Form1_Load .

  5. Pressione F5 para executar o aplicativo.

  6. Na caixa de texto, digite Londres, e clique no botão.Clientes de Londres serão exibidos.

Consulte também

Tarefas

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