Compartir a través de


Tutorial: Crear y obtener acceso a los servicios WCF

Este tutorial muestra cómo se crea un sencillo servicio de Windows Communication Foundation (WCF). A continuación, se probará y se tendrá acceso a él desde una aplicación de Windows Forms.

Nota

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, consulte Personalizar la configuración de desarrollo en Visual Studio.

Crear el servicio web

Para crear un servicio WCF

  1. En el menú Archivo, elija Nuevo y haga clic en Proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, expanda los nodos Visual Basic o Visual C#. Después, haga clic en WCF y Biblioteca de servicios WCF. Haga clic en Aceptar para abrir el proyecto.

    El proyecto de biblioteca de servicios de WCF

    Nota

    Se creará un servicio de trabajo que puede probar y acceder a él.Los dos pasos siguientes muestran cómo puede modificar el método predeterminado para utilizar un tipo de datos diferente.En una aplicación real, también agregaría sus propias funciones al servicio.

  3. El archivo IService1

    En el Explorador de soluciones, haga doble clic en IService1.vb o IService1.cs y busque la línea siguiente:

    <OperationContract()>
    Function GetData(ByVal value As Integer) As String
    
    [OperationContract]
    string GetData(int value);
    

    Cambiar el tipo del parámetro value a String:

    <OperationContract()>
    Function GetData(ByVal value As String) As String
    
    [OperationContract]
    string GetData(string value);
    

    En el código anterior, observe los atributos <OperationContract()> o [OperationContract]. Estos atributos son obligatorios para cualquier método expuesto por el servicio.

  4. El archivo Service1

    En el Explorador de soluciones, haga doble clic en Service1.vb o Service1.cs y busque la siguiente línea:

    Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
        Return String.Format("You entered: {0}", value)
    End Function
    
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

    Cambiar el tipo del parámetro de valor a String:

    Public Function GetData(ByVal value As String) As String Implements IService1.GetData
        Return String.Format("You entered: {0}", value)
    End Function
    
    public string GetData(string value)
    {
        return string.Format("You entered: {0}", value);
    }
    

Probar el servicio

Para probar un servicio WCF

  1. Presione F5 para ejecutar el servicio. Se mostrará un formulario Cliente de prueba WCF y cargará el servicio.

  2. En el formulario Cliente de prueba WCF, haga doble clic en el método GetData() en IService1. Se mostrará la pestaña GetData.

    El método GetData()

  3. En el cuadro Solicitar, seleccione el campo Valor y escriba Hello.

    El campo Valor

  4. Haga clic en el botón Invocar. Si aparece un cuadro de diálogo Advertencia de seguridad, haga clic en Aceptar. El resultado se mostrará en el cuadro Respuesta.

    El resultado en el cuadro Respuesta

  5. En el menú Archivo, haga clic en Salir para cerrar el formulario de prueba.

Acceso al servicio

Para hacer referencia a un servicio WCF

  1. En el menú Archivo, apunte a Agregar y, a continuación, haga clic en Nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, expanda el nodo Visual Basic o Visual C#, seleccione Windows y, a continuación, seleccione Aplicación de Windows Forms. Haga clic en Aceptar para abrir el proyecto.

    Proyecto de Aplicación de Windows Forms

  3. Haga clic con el botón derecho en WindowsApplication1 y haga clic en Agregar referencia de servicio. Aparecerá el cuadro de diálogo Agregar referencia de servicio.

  4. En el cuadro de diálogo Agregar referencia de servicio, haga clic en Detectar.

    El cuadro de diálogo Agregar referencia de servicio

    Service1 se mostrará en el panel Servicios.

  5. Haga clic en Aceptar para agregar la referencia del servicio.

Para compilar una aplicación cliente

  1. En el Explorador de soluciones, haga doble clic en Form1.vb o Form1.cs para abrir el Diseñador de Windows Forms, si no está ya abierto.

  2. Desde el Cuadro de herramientas, arrastre un control TextBox, un control Label y un control Button al formulario.

    Agregar controles al formulario

  3. Haga doble clic en Button y agregue el código siguiente al controlador de eventos Click:

      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;
    }
    
  4. En el Explorador de soluciones, haga clic con el botón derecho en WindowsApplication1 y haga clic en Establecer como proyecto de inicio.

  5. Presione F5 para ejecutar el proyecto. Escriba algún texto y haga clic en el botón. La etiqueta mostrará "Escribió:" y el texto que escribió.

    El formulario que muestra el resultado

Vea también

Otros recursos

Consuming ASMX and WCF Services Sample