23 de diciembre de 2014

CRUD consumiendo un servicio WCF

Toca realizar operaciones a la base de datos en SQL Server desde un servicio WCF, para esto hay dos maneras, ya sea a la antigua con ADO.NET utilizando procedimientos almacenados y los famosos SqlCommand o bien por el lado del ORM Entity Framework.

En esta entrada se utilizaran procedimientos almacenados sobre la siguiente tabla llamada Employee sobre una base de datos a la que llame ejemplo


el web.config del proyecto queda con el Integrated Security = SSPI asi:


Se trabajara sobre el servicio WCF que se creo en entradas anteriores, en este se agregara una carpeta con nombre Clases y dentro de esta agregaremos una clase con el nombre Employee, esta clase sera la entidad de negocio que representara a la tabla Employee, mira el desarrollo del WCF aquí


El código de la clase Employee.cs se muestra a continuación, tener en cuenta los espacios de nombre System.Runtime.Serialization y System.ComponentModel


El procedimiento almacenado que se utilizara se llama IngresarDatos y se agrega sobre la base de datos ejemplo sobre la que también se creo la tabla Employee, el código T-SQL se muestra


Sobre la interfaz o contrato IServicio_WCF del servicio WCF se debe agregar la operación IngresarDatosEmployee, la cual retornara un string y recibe una entidad Employee


El código de la clase Servicio_WCF que implementara la interfaz, desarrollara la operación que se acaba de agregar, el código se muestra


Ahora toca ejecutar el servicio WCF, ya esta debidamente hospedado en el servidor IIS es por eso que se obtiene la dirección web que se resalta en la imagen y la cual debemos copiar pues la necesitaremos a continuación para agregar la referencia de nuestro servicio WCF desde un cliente, para referencia sobre como hospedar un servicio WCF en IIS dejo este enlace


Creamos un nuevo cliente que sera una aplicacion de Windows Forms llamada WindowsFormsApplication1 y agregamos la referencia al servidor WCF, para esto se debe escoger Add Service Reference... desde la aplicación de escritorio


y en la parte de Address pegamos la dirección web que anteriormente habíamos copiado y que hace referencia al servicio WCF creado y presionamos el botón Go


de la imagen anterior, en el Namespace cambie el ServiceReference1 por Servicio, así la manera de invocar al servicio WCF sera Servicio.Servicio_WCFClient test = new Servicio.Servicio_WCFClient();

la pantalla que se mostrara al usuario tendrá el siguiente diseño, para esta entrada solo se codificara el evento del boton Ingresar

El código del evento click del botón Ingresar se muestra a continuación, se hace la referencia al servicio WCF y a la entidad de negocios Employee:


Al completar los datos como se muestra en pantalla y presionar el boton Ingresar aparecerá un MessageBox con un mensaje de confirmación, en caso se de algun error este igualmente se mostrara en el MessageBox, se han hecho las validaciones básicas, ustedes pueden agregar validaciones funcionales para su proyecto.


Para finalizar ejecuto una simple ejecución select sobre la tabla Employee para que muestre el registro que se acaba de ingresar...eso es todo, en la siguiente entrada se mostrara como trabajar WCF con Entity Framework.












Related Posts:

  • Configuración de WCF Service Library con netTcpBinding y IIS HostDe forma predeterminada, IIS sólo admite HTTP o HTTPS. Con el fin de permitir que IIS netTcpBinding lo primero que tenemos que activar / activar WCF Non-HTTP Activation. Para hacer eso, ir al panel de control -> Programas … Read More
  • Crear, hospedar(IIS) y consumir WCF Service AppWCF es la evolución de las tecnologías Web Service de Microsoft de años anteriores ya que provee un amplio rango de funcionalidad por encima de web services, con mejores características en aspectos de calidad como flexibilida… Read More
  • Creando WCF Service Library con IIS HostAntes de empezar les dejo esta respuesta de un foro que habla acerca de la diferencia entre WCF Service Application y WCF Service Library En esta entrada vamos a crear un proyecto WCF Service Library que se va hospedar en… Read More
  • Configuración Web.config netTcpBindingesta configuración de Web.config me funciono para un proyecto WCF Service hospedado en IIS utilizando un endpoint netTcpBinding recordar también que la aplicación que se ha hospedado en IIS debe tener habilitados los protocol… Read More
  • netTcpBinding con Windows Service HostLo primero a hacer es crear un proyecto de tipo WCF Service Library con nombre WCF4Windows antes de continuar hacer la observación que elimine las clase Service1.cs y la interface IService1.cs que el proyecto de WCF Servi… Read More