Tutorial WCF Segunda Parte: Creando un servicio con WCF (Windows Communication Foundation)

Luego de la primera parte de este tutorial, en la cual vimos los conceptos básicos pero necesarios acerca de WCF, veremos aquí como crear un servicio WCF simple, aplicando lo visto anteriormente.

Necesitaremos los siguiente:

  • Microsoft .NET Framework 4.5.1 o mayor
  • Microsoft Visual Studio 2013, 2015 o 2017
  • Microsoft SQL Server 2016, 2014, 2012, o Express
  • Internet Information Server 7.0, 7.5 o 8.0
  • Windows 7, Windows 8 o Windows 10

Antes de comenzar con nuestro proyecto en Visual Studio, crearemos directorios en nuestra computadora para salvar todos los archivos generados. Esto también se puede hacer directo desde Visual Studio al momento de crear el proyecto.

Salvaremos nuestro proyecto en C:\ProyectoWCF\Proyectos

Seguiremos los siguientes pasos para crear nuestro primer servicio WCF:

  1. Comenzamos abriendo Visual Studio 2017 (puede usar la versión Community, Professional, Enterprise o algunas de las versiones mencionadas arriba)
  2. Primero iremos al menu superior y haremos click en File  -> New -> Project…. La ventana de dialogo de nuevo proyecto se abrirá.

WCFTUT_02

3. En la parte izquierda de este formulario, expandir la opción Installed -> Other Project Types y seleccionar el template Visual Studio Solutions.  Desde la sección media de este formulario seleccionamos Blank Solution. 

4.Debajo en el formulario de New Project, como nombre de solución  digitamos MiPrimerServicioWCF  y en Location seleccionamos  C:\ProyectoWCF\Proyectos como directorio utilizando el botón Browse.

5. Hacemos click en el boton OK, esto cierra el formulario de New project y nuestra pantalla deberá mostrarse como la imagen aquí debajo.

WCFTUT_03

6. Dependiendo de su configuración en el entorno de desarrollo podria ser algo diferente. Si usted no ve el Solution Explorer, puede ir a la opción View en el menu principal de Visual Studio y seleccionar la opción Solution Explorer o presionar en su teclado Ctrl + W + S (este atajo de teclado es en Visual Studio 2017, puede diferir en otras versiones de Visual Studio).

7. En la seccion del Solution Explorer, debemos hacer click en el botón derecho sobre la solución y seleccionar Add -> New Project… desde el menu contextual. La imagen aquí debajo muestra el menu contextual para agregar un nuevo proyecto.

WCFTUT_04

.8. El formulario de Add New Project debería abrirse. En la parte izquierda de este formulario, seleccionar Installed -> Visual C#, y en la seccion media del formulario seleccionar Class Library.

9. En la parte inferior del formulario de Add New Project, digitar PrimerServicioWCF en el campo nombre. Dejar el directorio seleccionado por defecto en la opcion Location. No es necesario agregar MiPrimerServicioWCF en la opcion Location porque Visual Studio crea este directorio de forma automatica.

WCFTUT_06

Cuando vemos los templates que nos ofrece Visual Studio podemos haber notado que existe uno que es WCF Service Application. Pero no lo utilizaremos en principio, así podremos crear desde 0 todas las cosas necesarias para nuestro servicio. Es una buena forma de entender com funciona esta tecnología.

10. En el formulario anterior hacemos click en el botón Ok, y luego de eso, el formulario se cerrara y Visual Studio creara una serie de archivos para nuestro servicio. El primer archivo es un proyecto. Es un archivo xml y esta en nuestro directorio donde lo creamos y su nombre es PrimerServicioWCF.csproj.

Aparte de esto, Visual Studio crea un clase vacía llamada Class1.cs a la cual le cambiaremos el nombre por uno mas descriptivo más adelante.

Nuestro entorno de desarrollo debería parecerse mucho a la imagen que les dejo debajo.

WCFTUT_07

Hasta aquí creamos una nueva solución y un nuevo proyecto. En este proyecto crearemos nuestro primer servicio WCF. La última cosa que nos faltaría antes de empezar a crear nuestro servicio sería agregar la referencia a la librería System.ServiceModel. Para ello seguiremos estos pasos:

  1. En la sección del Solution Explorer, hacemos click derecho sobre el proyecto PrimerServicioWCF  y seleccionamos Add -> Reference… desde el menu contextual. Luego de estas acciones el formulario de Reference Manager aparecerá como sigue:

WCFTUT_08

Marcamos la cajita de chequeo  al lado de System.ServiceModel y luego hacemos click en el botón OK.

Ahora si hacemos click dentro del Solution Explorer en References dentro del proyecto PrimerServicioWCF, veremos que la librería System.ServiceModel fue agregada.

Definiendo el contrato de nuestro servicio

En la sección previa, creamos la solución y el proyecto para el servicio PrimerServicioWCF.

En esta sección, comenzaremos a construir el servicio PrimerServicioWCF. El primer paso para esto es definir el contrato de nuestro  servicio creando una interfaz.  Seguiremos estos pasos:

  1.  En la sección del Solution Explorer hacemos click derecho en el proyecto PrimerServicioWCF y seleccionamos ADD -> New Item… desde el menu contextual. El formulario de Add New Item se abrirá y se mostrará como en la siguiente imagen.

WCFTUT_09

2. En la parte izquierda del formulario de Add New Item, debemos seleccionar Installed -> Visual C# Items como template, y en la parte media de este formulario seleccionamos Interface.

3. En la parte inferior del formulario Add New Item, cambiar el nombre por defecto a IPrimerServicioWCF.cs

4. Por ultimo debemos hacer click en el botón Add.

Ahora generamos un interface para nuestro servicio vacía y ha sido agregada a nuestro proyecto. Para indicarle al servicio que deseamos utilizarlo como contrato, seguiremos estos pasos.

  1. Agregar una sentencia using

WCFTUT_12

2. Agregar un atributo ServiceContract arriba de la definición de la interfaz. Este atributo designa la interfaz como un contrato de servicio.

WCFTUT_11

3. Agregar un método a la interface que se llame ObtenerMensaje. Este método tendrá como tipo de parámetro de entrada un string y retornará otro tipo string como parámetro de salida.

4. Cambiar la interfaz a pública.

El contenido de interfaz deberá quedar como sigue.

WCFTUT_10

Implementando nuestra interfaz del servicio

Hasta aquí hemos definido la interfaz de nuestro servicio (service contract), y ahora necesitamos implementarla. Para este propósito utilizaremos la clase vacía que fue generada al crear el proyecto e implementaremos nuestra interfaz en ella.

Antes de modificar este archivo, necesitamos renombrarlo. En la sección del Solution Explorer , hacemos click derecho sobre el archivo Class1.cs, seleccionamos Rename en el menu contextual, y llamamos a la clase como PrimerServicioWCF.cs. Visual Studio cambiará todo los archivos relacionados con las referencias a esta clase de forma automática al cambiar el nombre.

Ahora realizaremos los siguientes pasos para modificar la clase:

  1. Abrir la clase PrimerServicioWCF.
  2. Implementaremos nuestra interfaz como sigue:

WCFTUT_13

3. Agregar un método que se llame ObtenerMensaje. Este será el método que devuelva un string. Otra forma de implementar la interfaz, es seleccionando el nombre de la interfaz en la clase y luego hacer botón derecho y seleccionar del menu contextual Implement Interface para agregar el cuerpo del método.

El final del contenido de MiPrimerServicioWCF deberá quedar como se muestra en la siguiente imagen:

WCFTUT_14

Por último compile el proyecto. Si usted no obtiene ningún error significa que ha creado de forma exitosa el servicio WCF.

Bien hasta aquí hemos creado una solución con un proyecto que permitió crear un servicio WCF. En la próximo parte de este tutorial veremos como alojar (host) nuestro servicio en algún ambiente para de esa forma quede pronto para poder ser consumido por una aplicación cliente. Cualquier consulta o pregunta pueden dejarla aquí debajo. Debajo aquí les dejo el código hasta aquí desarrollado. Hasta la siguiente parte.

Codigo: Mi Primer Servicio WCF

Tutorial WCF Primera Parte: Conceptos Básicos

Tutorial WCF Tercera Parte: Alojando (Hosting) nuestro Servicio WCF

Tutorial WCF Cuarta Parte: Creando un cliente para consumir nuestro Servicio WCF

 

The following two tabs change content below.
Admin

Admin

Administrador de Dotnetuy, con más de 20 años de experiencia en el mundo de la informática y el desarrollo de software en diferentes lenguajes, trabajando en backend y frontend, desde sus primeros pasos con clipper cuando comenzaba la década de los 90’s , y continuando con pascal, C, C++, Visual basic, y multiples gestores de bases de datos hasta hoy en día con C# y todas las técnologias relacionadas con .NET.

One thought on “Tutorial WCF Segunda Parte: Creando un servicio con WCF (Windows Communication Foundation)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *