Anda di halaman 1dari 39

Windows Communication Fundation

PUBLICACIN DE SERVICIO WEB WCF


CREACIN DEL SERVICIO WEB WCF
1.

En el men principal hacer clic en Archivo/Nuevo y seleccionar


Proyecto

2.Seleccionar Visual C# - Web - WCF y luego dentro de las platillas


seleccionar Aplicacin de servicios WCF. Como nombre poner
WcfService.

Ing. Javier Alberto Manrique Quionez


1

Windows Communication Fundation

3.

Verificar que el IDE del VS 2013 se presente como el en


siguiente grfico.

4.Hacer clic derecho en el nombre de la clase Service1 y selecciones


Refactorizar-CambierNombre.
Ing. Javier Alberto Manrique Quionez
2

Windows Communication Fundation

5.

Cambiar el nombre por el de Service.

6.

Verifique la obtencin de la vista previa del cambio de nombre.

Ing. Javier Alberto Manrique Quionez


3

Windows Communication Fundation

7.Hacer clic derecho en el nombre de la Interface IService1 (clase


base) y seleccione Refactorizar-CambiarNombre.

8.

Cambiar el nombre por el de IService.

9.

Verifique la obtencin de la vista previa del cambio de nombre.

Ing. Javier Alberto Manrique Quionez


4

Windows Communication Fundation

10.

Verificar que el proyecto se presente como en el siguiente


grfico.

11.

Hacer clic derecho en el nombre de la Interface Iservice y


seleccionar Cambiar nombre.

Ing. Javier Alberto Manrique Quionez


5

Windows Communication Fundation

12.

Verificar el cambio de nombre de la Interface IService1.cs por el


de Iservice.cs

Ing. Javier Alberto Manrique Quionez


6

Windows Communication Fundation

13. Hacer clic derecho en el nombre de la Clase Service1.svc


(implementacin de la interface) y seleccionar Cambiar nombre.

14.

Verificar el cambio de nombre de la Clase Service1.svc por el de


Service.svc.cs

Ing. Javier Alberto Manrique Quionez


7

Windows Communication Fundation

15.

Agregar una clase.

16.

Asignar AdministradorDeConexin.cs como nombre de clase.

Ing. Javier Alberto Manrique Quionez


8

Windows Communication Fundation

17.

Agregar a la clase AdministradorDeConexin.cs el siguiente


cdigo.
using System.Configuration;
using System.Data.SqlClient;
namespace WcfService
{ public class AdministradorDeConexin
{ public static SqlConnection getConexion()
{ SqlConnection conexion =
new

SqlConnection(ConfigurationManager.ConnectionStrings[DbEventoConnectionString]
.ConnectionString);

try
{

return conexion;
}
catch (SqlException e)
{ return null;
}
}
}
}

18.

Agregar una clase y denominarla Evento.cs y agregar el


siguiente cdigo
using System.Runtime.Serialization;
namespace WcfServiceEvento
{ [DataContract]
public class Evento
{ [DataMember] public int
[DataMember] public string
[DataMember] public int
[DataMember] public string

Ing. Javier Alberto Manrique Quionez


9

idEvento
{ get; set; }
nombreDelEvento
{ get; set; }
idTipoDeEvento
{ get; set; }
fechaDelEvento
{ get; set; }

Windows Communication Fundation

[DataMember]
public Evento()
{
}

public int

idLugar

{ get; set; }

public Evento(int idEvento)


{ this.idEvento=idEvento;
}
public Evento( int
idEvento,
string nombreDelEvento,
int
idTipoDeEvento,
string
fechaDelEvento,
int
idLugar
)
{ this.idEvento
= idEvento;
this.nombreDelEvento
= nombreDelEvento;
this.idTipoDeEvento
= idTipoDeEvento;
this.fechaDelEvento
= fechaDelEvento;
this.idLugar
= idLugar;
}
public override string ToString()
{ return nombreDelEvento;
}
}
}

19. Hacer doble click en el archivo Web.config para agregar el cdigo


que se presenta a continuacin del grfico.

Ing. Javier Alberto Manrique Quionez


10

Windows Communication Fundation

<connectionStrings>
<add name=DbEventoConnectionString
connectionString= Data Source=JAVIER-PC\MSSQLSERVER2012;
Initial Catalog=DbEvento; Persist Security Info=True;User
ID=sa; Password=12345
providerName=System.Data.SqlClient/>
</connectionStrings>

Ing. Javier Alberto Manrique Quionez


11

Windows Communication Fundation

20.

Verificar que el archivo Web.config se presente como en el siguiente grfico.

21. Hacer clic en la Interface Iservice.cs para modificar el cdigo por


defecto (sentencias y comentarios) e ingresar el siguiente cdigo.

Ing. Javier Alberto Manrique Quionez


12

Windows Communication Fundation

22. Hacer clic en la clase Service.svc (Implementacin de la Interface)


para modificar el cdigo por defecto (sentencias y comentarios) e
ingresar el siguiente cdigo.

23. Hacer clic derecho sobre la clase Service.svc y seleccionar Ver en


explorador (Google Chrome).

Ing. Javier Alberto Manrique Quionez


13

Windows Communication Fundation

24. Verificar el despliegue del Servicio Web WCF en el Navegador


Web y verificar que bse ha creado el Servicio Web WCF.

Ing. Javier Alberto Manrique Quionez


14

Windows Communication Fundation

PUBLICACIN DEL SERVICIO WEB WCF


25. Acceder a la carpeta inetpub del disco local (C:) y crear una nueva
carpeta denominada SitioWebServicioWeb.

26. Correr el Internet Information Service

Ing. Javier Alberto Manrique Quionez


15

Windows Communication Fundation

27. Seleccionar Agregar sitio web en Sitios del Grupo del aplicaciones
de Conexiones del Administrador de Intenet Information service
(IIS).

28. En nombre de sitio de Agregar sitio web colocar


SitioWebWcfService.

Ing. Javier Alberto Manrique Quionez


16

Windows Communication Fundation

29. Haga clic en el el botn de comando seleccionar. En Seleccionar


Grupo de aplicaciones, escoger ASP.NET v4.0 y luego aceptar los
cambios.

Ing. Javier Alberto Manrique Quionez


17

Windows Communication Fundation

30. Haga clic en en botn de comando () y el Buscar carpeta


seleccione la carpeta SitioWebWcfService.

31. En conectar como, seleccionar


(Autenticacin de paso a travs).

Ing. Javier Alberto Manrique Quionez


18

Usuario

de

la

aplicacin

Windows Communication Fundation

32. En Puerto coloque el nmero de puerto de conexin. Para nuestro


caso escribamos 85.

Ing. Javier Alberto Manrique Quionez


19

Windows Communication Fundation

33. Verifique que la configuracin de la publicacin de sitio web se


presente como en la siguiente.

34. Haga clic en configuracin avanzada.

Ing. Javier Alberto Manrique Quionez


20

Windows Communication Fundation

35. Verifique que la configuracin se presente como en el siguiente


cuadro de dilogo.

36. En el Exporador Web escriba: http://localhost:85 y verificar que se


presente la siguiente ventana.
Direccin URL solicitada

Ing. Javier Alberto Manrique Quionez


21

http://localhost:85/

Windows Communication Fundation

37. En el Visual Studio hacer clic derecho en


WebApplicationServicioWeb y seleccione Publicar.

38. En Publicacin Web, seleccione Personalizado.

Ing. Javier Alberto Manrique Quionez


22

el

Proyecto

Windows Communication Fundation

39. En Perfil personalizado nuevo escriba PerfilServicioWebWcf.

40. Haga clic en la pestaa Conexin y configrelo como se presenta


en la siguiente figura.

Ing. Javier Alberto Manrique Quionez


23

Windows Communication Fundation

41. En configuracin seleccione Release luego haga clic en el botn


de comando siguiente.

Ing. Javier Alberto Manrique Quionez


24

Windows Communication Fundation

42. En Vista previa haga clic en Comenzar previsualizacin.

43. Verifique que se presente la siguiente ventana.


Ing. Javier Alberto Manrique Quionez
25

Windows Communication Fundation

44. Haga clic en el botn de comando Publicar y verifique que se


presente la siguiente ventana.

Ing. Javier Alberto Manrique Quionez


26

Windows Communication Fundation

CREACIN DEL CONSUMIDOR DEL SERVICIO WEB WCF


45. En el men principal hacer click en Archivo/Nuevo y seleccionar
Proyecto

46. En el men principal hacer clic en Archivo/Nuevo y seleccionar


Proyecto

Ing. Javier Alberto Manrique Quionez


27

Windows Communication Fundation

47. En el men principal hacer clic en Archivo/Nuevo y seleccionar


Proyecto

48. Seleccionar Visual C# - Web y luego dentro de las plantillas


seleccionar Aplicacin web ASP.NET Visual C#. Poner como nombre
ConsumoDeServicioWebWcf.

Ing. Javier Alberto Manrique Quionez


28

Windows Communication Fundation

49. Seleccionar la plantilla Empty (Vaca).

Ing. Javier Alberto Manrique Quionez


29

Windows Communication Fundation

50. Verifique que el Explorador de Soluciones se presente como en el


siguiente grfico.

51. Hacer click derecho en References y seleccionar Agregar


referencia.

52. En direccin poner la direccin (la direccin de la publicacin del


servicio web WCF).

Ing. Javier Alberto Manrique Quionez


30

Windows Communication Fundation

53. Cambiar el nombre de la referencia en Espacio de Nombre y hacer


clic en el botn de comando Ir y verificar que se presente el
siguiente grfico.

54. Verificar que el Explorador de Soluciones se presente como en el


siguiente grfico.

55. Agregar un Formulario Web Forms.

Ing. Javier Alberto Manrique Quionez


31

Windows Communication Fundation

56. Asignar el nombre WebFormConsumoServicioWebWcf.

Ing. Javier Alberto Manrique Quionez


32

Windows Communication Fundation

57. Modificar el cdigo del Formulario Web Form con lo que se


presenta a continuacin. Agregue un TexoBox, GridView y un Botn
de Comando.

58. Presentar el Formulario Web form en el modo Diseo.

Ing. Javier Alberto Manrique Quionez


33

Windows Communication Fundation

59. Haga soble clic en el botn de comando Rellenar gridView.

60. Modificar el cdigo por defecto y que se presente como en el


siguiente grfico.

Ing. Javier Alberto Manrique Quionez


34

Windows Communication Fundation

61. Ejecutar la aplicacin web y que se presente como en el siguiente


grfico.

62. Publicar la aplicacin web recien creada y hacerla correr en red.

Ing. Javier Alberto Manrique Quionez


35

Windows Communication Fundation

Ing. Javier Alberto Manrique Quionez


36

Windows Communication Fundation

SERVICIO WEB WFC: WINDOWS COMMUNICATION

FOUNDATION
Windows Communication Foundation (WCF) es un marco de trabajo para la creacin de
aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como mensajes
asincrnicos de un extremo de servicio a otro. Un extremo de servicio puede formar parte de
un servicio disponible continuamente hospedado por IIS, o puede ser un servicio hospedado
en una aplicacin. Un extremo puede ser un cliente de un servicio que solicita datos de un
extremo de servicio. Los mensajes pueden ser tan simples como un caracter o una palabra
que se enva como XML, o tan complejos como una secuencia de datos binarios. A
continuacin se indican unos cuantos escenarios de ejemplo:
Un servicio seguro para procesar transacciones comerciales.
Un servicio que proporciona datos actualizados a otras personas, como un informe
sobre trfico u otro servicio de supervisin.
Una aplicacin de panel que sondea los datos de uno o varios servicios y los muestra
en una presentacin lgica.
Exponer un flujo de trabajo implementado utilizando Windows Workflow Foundation
como un servicio WCF.
Una aplicacin de Silverlight para sondear un servicio en busca de las fuentes de datos
ms recientes.
Si bien era posible crear tales aplicaciones antes de que existiera WCF, con WCF el desarrollo
de extremos resulta ms sencillo que nunca. En resumen, WCF se ha diseado para ofrecer un
enfoque manejable para la creacin de servicios web y clientes de servicios web.

Caractersticas de WCF
WCF incluye el siguiente conjunto de caractersticas: Para obtener ms informacin,
veaDetalles de las caractersticas de WCF.

Orientacin a servicios
Interoperabilidad
Varios modelos de mensajes
Metadatos de servicios
Contratos de datos
Seguridad
Varios transportes y codificaciones
Mensajes confiables y en cola
Mensajes duraderos
Transacciones
Compatibilidad con AJAX y REST
Extensibilidad
Integracin de WCF con otras tecnologas de Microsoft

Microsoft .NET Services es una iniciativa de computacin en nube (cloud computing) que
utiliza WCF para la creacin de aplicaciones habilitadas para Internet. Utilice .NET Services
para crear servicios WCF que funcionan a travs de lmites de confianza.
El servidor de aplicaciones caractersticas de hospedaje de Windows Server AppFabric se ha
diseado especficamente para implementar y administrar aplicaciones que utilizan WCF para
las comunicaciones. caractersticas de hospedaje incluye sofisticadas opciones de
configuracin y herramientas diseadas especficamente para las aplicaciones habilitadas
para WCF.
Ing. Javier Alberto Manrique Quionez
37

Windows Communication Fundation

Los servicios son autnomos y comparten esquemas (datos) y contratos (funcionalidad),


no tienen que asumir nada de lo que hay al otro lado del extremo. Los clientes consumen
servicios y los servicios ofrecen soluciones. Un servicio puede a su vez ser cliente de otro
servicio.
En WPF los mensajes tienen un envoltorio, una cabecera y un cuerpo y son definidos en XML
segn el protocolo SOAP. Veamos un mensaje SOAP:

<?xml version =1.0>


<soap:Envelope xmlns:soap=http://www.w3.org/...
soap:encodingStyle=http://www.w3.org/...>
<soap:Header>
... aqu ira informacin especfica de la aplicacin como puede ser la
autenticacin ...
</soap:Header>
<soap:Body>
... mensaje al punto final de la comunicacin ...
<soap:Fault>
... para indicar mensajes de error ...
</soap:Fault>
</soap:Body>
</soap>

Modelo de programacin de WCF


El cliente WCF es el que inicia la comunicacin y el servicio WCF es el que est esperando que
un cliente se comunique con l. Una nica aplicacin puede actuar como cliente y como
servicio. Este modelo de programacin orientado a servicios est definido por las clases
agrupadas bajo el namespace System.ServiceModel.

Implementar un servicio WCF

Un servicio es una aplicacin que expone uno o ms extremos, donde cada uno de ellos
expone una o ms operaciones de servicio. El extremo o punto final proporciona la nica
manera de comunicacin con el servicio. Est compuesto por:
Direccin: define la ubicacin del servicio (por ejemplo una URL, una direccin FTP o una
ruta de acceso local o de red).
Enlace: define la manera de establecer la comunicacin con el servicio
(BasicHttpBonding, PollingDuplexHttpBinding o WsHttpBinding). Los enlaces WCF
permiten especificar con facilidad un protocolo (HTTP o FTP), un mecanismo de seguridad
(autenticacin Windows o nombres de usuario y contrasea).
Contrato: incluye las operaciones expuestas por la clase del servicio WCF.
Definir un contrato
El contrato se corresponde con una interfaz, marcada con el atributo ServiceContract, que
especifica las operaciones que ofrece el servicio. Cada una de estas operaciones ser
Ing. Javier Alberto Manrique Quionez
38

Windows Communication Fundation

proporcionada por un mtodo de la clase del servicio marcado con el atributo


OperationContract. Los mtodos que no estn marcados con este atributo no sern
presentados a los clientes.
?

[ServiceContract]
public interface IconvertirGrados
{ // Operaciones ofrecidas por el servicio
[OperationContract]
double ConvCentAFahr(double gCent);
[OperationContract]
double ConvFahrACent(double gFahr);
}

ServiceContract se corresponde con la clase ServiceContractAttribute.


OperationContract se corresponde con la clase OperationContractAttribute. De
esta forma indicamos que un mtodo como ConvCentAFahr o ConvFahrAcent definen
una operacin que forma parte de un contrato.

Ahora toca consumir el servicio

Es decir implementar un cliente WCF. Un cliente est compuesto de un proxy que


habilita a una aplicacin para poder establecer comunicacin con un servicio WCF y un
extremo. para los servicios que exponen varios extremos , el cliente selecciona el que
ms se ajusta a sus necesidades; por ejemplo uno que permita establecer una
comunicacin a travs de HTTP y sin autenticacin.

Un proxy se genera a partir de los metadatos obtenidos del servicio WCF e incluye
informacin sobre los tipos y mtodos expuestos por el servicio. Siguiendo con el
ejemplo del servicio de la temperatura vamos a crear una interfaz parecida a esta:

Ing. Javier Alberto Manrique Quionez


39

Anda mungkin juga menyukai