Escritura de un servicio web mediante Visual C# .NET

Este artículo le ayuda a escribir un servicio web, denominado MathService, que expone métodos para agregar, restar, dividir y multiplicar dos números.

Versión original del producto: Visual C# .NET
Número de KB original: 308359

Requisitos

En la lista siguiente se describen el hardware, el software, las aptitudes y los conocimientos recomendados que necesita:

  • Microsoft Windows
  • Internet Information Server
  • Visual Studio .NET

En este artículo se supone que está familiarizado con el tema: Cómo usar el entorno de desarrollo integrado de Visual Studio .NET.

Escritura de un servicio web .asmx

  1. Abra Visual Studio .NET.

  2. En el menú Archivo , seleccione Nuevo y seleccione Proyecto. En Tipos de proyecto, seleccione Proyectos de Visual C#. A continuación, seleccione ASP.NET servicio web en Plantillas. Escriba MathService en el cuadro de texto Ubicación para cambiar el nombre predeterminado (WebService1) a MathService.

  3. Cambie el nombre del servicio web predeterminado que se crea de Service1.asmx a MathService.asmx.

  4. Seleccione Haga clic para cambiar a la vista de código en el entorno del diseñador.

  5. Defina métodos que encapsulan la funcionalidad del servicio. Cada método que se expondrá desde el servicio debe marcarse con un WebMethod atributo delante de él. Sin este atributo, el método no se expondrá desde el servicio.

    Nota:

    No todos los métodos deben tener el WebMethod atributo . Es útil ocultar algunos detalles de implementación a los que llaman los métodos de servicio web público o para el caso en el que la WebService clase también se usa en aplicaciones locales. Una aplicación local puede usar cualquier clase pública, pero solo WebMethod los métodos serán accesibles de forma remota como servicios web.

    Agregue el método siguiente a la MathServices clase que creó:

    [WebMethod]
    public int Add(int a, int b)
    {
      return(a + b);
    }
    [WebMethod]
    public System.Single Subtract(System.Single A, System.Single B)
    {
      return (A - B);
    }
    [WebMethod]
    public System.Single Multiply(System.Single A, System.Single B)
    {
      return A * B;
    }
    [WebMethod]
    public System.Single Divide(System.Single A, System.Single B)
    {
      if(B == 0) return -1;
      return Convert.ToSingle(A / B);
    }
    
  6. Seleccione Compilar en el menú Compilar para compilar el servicio web.

  7. Vaya a la página del servicio web MathService.asmx para probar el servicio web. Si establece el equipo local para hospedar la página, la dirección URL es http://localhost/MathService/MathService.asmx.

El tiempo de ejecución de ASP.NET devuelve una página de ayuda del servicio web que describe el servicio web. Esta página también permite probar diferentes métodos de servicio web.

Consumo de un servicio web

  1. Abra Visual Studio .NET.

  2. En Tipos de proyecto, seleccione Proyectos de Visual C# y, a continuación, seleccione Aplicación de consola en Plantillas.

  3. Agregue una referencia para el servicio web MathService a la nueva aplicación de consola.

    En este paso se crea una clase de proxy en el equipo cliente. Una vez que exista la clase de proxy, puede crear objetos basados en la clase . Cada llamada al método que se realiza con el objeto sale al identificador uniforme de recursos (URI) del servicio web (normalmente como una solicitud SOAP).

    1. En el menú Proyecto , seleccione Agregar referencia web.
    2. En el cuadro de diálogo Agregar referencia web , escriba la dirección URL del servicio web en el cuadro de texto Dirección y presione ENTRAR. Si establece el equipo local para hospedar el servicio web, la dirección URL es http://localhost/MathService/MathService.asmx.
    3. Seleccione Agregar referencia. Como alternativa, puede escribir la dirección URL en el archivo de detección (MathService.vsdisco) o seleccionar Referencias web en el servidor web local en el panel izquierdo para seleccionar el servicio MathService de la lista.
    4. Expanda la sección Referencias web de Explorador de soluciones y anote el espacio de nombres que se usó.
  4. Cree una instancia del objeto proxy que se creó. Coloque el código siguiente en la función denominada Main:

    localhost.Service1 myMathService = new localhost.Service1();
    
  5. Invoque un método en el objeto proxy que creó en el paso anterior, como se indica a continuación:

    Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
    
  6. Seleccione Compilar en el menú Compilar para compilar la aplicación de consola.

  7. Seleccione Iniciar en el menú Depurar para probar la aplicación.

  8. Cierre y guarde el proyecto.

Referencias

Para obtener más información, vea el tema Programación de web con servicios web en la Ayuda de .NET de Visual Studio o el tema ASP.NET Web Services and ASP.NET Web Service Clients en la Guía del desarrollador de .NET Framework.

Para obtener más información, consulte los sitios web siguientes: