Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 da por supuesto que está familiarizado con el tema: Uso del entorno de desarrollo integrado de .NET de Visual Studio.
Escritura de un servicio web .asmx
Abra Visual Studio .NET.
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.
Cambie el nombre del servicio web predeterminado que se crea desde Service1.asmx a MathService.asmx.
Seleccione Haga clic para cambiar a la vista de código en el entorno del diseñador.
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 . Resulta útil ocultar algunos detalles de implementación llamados por métodos de servicio web públicos o para el caso en el que laWebService
clase también se usa en las aplicaciones locales. Una aplicación local puede usar cualquier clase pública, pero soloWebMethod
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); }
Seleccione Compilar en el menú Compilar para compilar el servicio web.
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 entorno 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 le permite probar diferentes métodos de servicio web.
Consumo de un servicio web
Abra Visual Studio .NET.
En Tipos de proyecto, seleccione Proyectos de Visual C# y, a continuación, aplicación de consola en Plantillas.
Agregue una referencia para el servicio web MathService a la nueva aplicación de consola.
Este paso crea una clase de proxy en el equipo cliente. Después de que exista la clase proxy, puede crear objetos basados en la clase . Cada llamada de método que se realiza con el objeto sale al identificador uniforme de recursos (URI) del servicio web (normalmente como una solicitud SOAP).
- En el menú Proyecto , seleccione Agregar referencia web.
- 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
. - 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.
- Expanda la sección Referencias web de Explorador de soluciones y anote el espacio de nombres que se usó.
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();
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));
Seleccione Compilar en el menú Compilar para compilar la aplicación de consola.
Seleccione Iniciar en el menú Depurar para probar la aplicación.
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 servicios web ASP.NET y clientes de servicios web ASP.NET en la Guía para desarrolladores de .NET Framework.
Para obtener más información, consulte los sitios web siguientes: