Windows Communication Foundation 4.0 (Ejemplo)

Embed Size (px)

Citation preview

Windows Communication Foundation 4.0

Aroa Solana

Sinopsis El presente texto presenta al lector las caractersticas de creacin de servicios utilizando Windows Communication Foundation (WCF), parte de .NET Framework 4. Las aplicaciones cliente-servidor han evolucionado y el hecho de poder acceder a informacin presente en mltiples ubicaciones ha pasado a ser una necesidad para las nuevas aplicaciones. SOA (Arquitectura Orientada a Servicios) es el principal cimiento de esta tecnologa y conceptos como Address, Binding y Contract, el ABC de WCF, los aprender el lector a lo largo de los captulos. Con WCF los servicios podrn ser consumidos por aplicaciones .NET y por aplicaciones hechas con otras tecnologas como J2EE o similares.

Aroa Solana Ruiz es Microsoft Certified IT Professional en Database Developer, tambin Microsoft Certified Technology Specialist en SQL Server 2005, .NET Framework 3.5, Windows Forms Applications, SQL Server 2005, al igual que Database Development en SQL Server 2008. Actualmente ostenta la certificacin MCT (Microsoft Certified Trainer) que la permite impartir un gran nmero de cursos oficiales de Microsoft y trabajar como formadora en Alhambra-Eidos. Ha impartido formacin sobre la tecnologa .NET, desarrollo de aplicaciones Windows, Web, ADO, Distribuidas, WPF, WCF, WWF, Silverlight y UML, por otra parte imparte formacin en administracin de bases de datos SQL Server y desarrollo de bases de datos SQL Server, tanto en 2005 como en 2008. Adems posee experiencia en J2SE y J2EE. Dentro de la gestin de procesos posee la certificacin ITIL V2 Foundations.

LuarnaWindows Communication Foundation 4.0 Aroa Solana Ruiz Alhambra-Eidos De esta edicin: 2011, Luarna Ediciones, S.L.

www.luarna.com Madrid, junio de 2011 ISBN: 978-84-15013-10-5 Versin 1.0 (21/06/2011)

Cualquier forma de reproduccin, distribucin, comunicacin pblica o transformacin de esta obra solo puede ser realizada con la autorizacin de sus titulares, salvo excepcin prevista por la ley. Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos, www.cedro.org) si necesita fotocopiar, escanear o hacer copias digitales de algn fragmento de esta obra.

Windows Communication Foundation 4.0Aroa Solana Ruiz

Indice1.INTRODUCCIN ........................................................................................................................................................................... 14 ARQUITECTURA WCF ....................................................................................................................................................................... 14 CONTRATOS ................................................................................................................................................................................... 15 Datos .............................................................................................................................................................................................. 15 Mensaje.......................................................................................................................................................................................... 15 Servicio ........................................................................................................................................................................................... 15 POLICY Y BINDING ........................................................................................................................................................................... 16 SERVICE RUNTIME ........................................................................................................................................................................... 16 MENSAJES ..................................................................................................................................................................................... 16 ACTIVACIN Y ALOJAMIENTO ............................................................................................................................................................. 17 CARACTERSTICAS DE WCF ................................................................................................................................................................ 17 Transacciones ................................................................................................................................................................................. 17 Alojamiento .................................................................................................................................................................................... 18 RESUMEN ...................................................................................................................................................................................... 18 2.CONCEPTOS DE WCF.................................................................................................................................................................... 21 MENSAJES ..................................................................................................................................................................................... 21 Estructura de un mensaje ................................................................................................................................................................ 21 El sobre SOAP.................................................................................................................................................................................. 22 Cabecera SOAP ............................................................................................................................................................................... 22 Cuerpo SOAP ................................................................................................................................................................................... 22 PROGRAMAS DE MENSAJERA ............................................................................................................................................................. 24 Clientes ........................................................................................................................................................................................... 25 Servicio ........................................................................................................................................................................................... 25 Intermediarios ................................................................................................................................................................................ 26 PATRONES DE MENSAJERA ................................................................................................................................................................ 26 Simple............................................................................................................................................................................................. 26 Dplex ............................................................................................................................................................................................ 27 Peticin-Respuesta .......................................................................................................................................................................... 27 CANALES ....................................................................................................................................................................................... 28 Pila de canales ................................................................................................................................................................................ 28 SEGURIDAD .................................................................................................................................................................................... 29 INTEROPERABILIDAD ......................................................................................................................................................................... 29 TRANSPORTES ................................................................................................................................................................................ 29 SERVICIOS ...................................................................................................................................................................................... 30 EXTREMOS ..................................................................................................................................................................................... 31 DIRECCIONES.................................................................................................................................................................................. 31 ENLACES ....................................................................................................................................................................................... 31 CONTRATOS ................................................................................................................................................................................... 34 Contrato de servicios ....................................................................................................................................................................... 34 Contrato de mensajes ..................................................................................................................................................................... 34 Contrato de datos ........................................................................................................................................................................... 34 COMPORTAMIENTOS ........................................................................................................................................................................ 35 3.MODELO DE PROGRAMACIN DE WCF ....................................................................................................................................... 36 ORIENTADO A SERVICIOS VS ORIENTADO A OBJETOS ................................................................................................................................ 36 MODELO DE SERVICIOS ..................................................................................................................................................................... 37 System.ServiceModel ...................................................................................................................................................................... 37 System.ServiceModel.Channels ....................................................................................................................................................... 38 System.Transactions ....................................................................................................................................................................... 39 SCVUTIL.EXE .................................................................................................................................................................................. 39 Usos Comunes................................................................................................................................................................................. 40 Generacin de cdigo...................................................................................................................................................................... 40 Exportar Metadatos ........................................................................................................................................................................ 41 Serializacin/ Mensaje .................................................................................................................................................................... 42 Avanzada ........................................................................................................................................................................................ 42 Miscelnea ..................................................................................................................................................................................... 43 MTODOS DE PROGRAMACIN DE WCF ............................................................................................................................................... 43 Declarativa ..................................................................................................................................................................................... 43 Explcita .......................................................................................................................................................................................... 44

Pgina 5

Configuracin ................................................................................................................................................................................. 44 NIVELES DE PROGRAMACIN WCF ...................................................................................................................................................... 45 Tipado ............................................................................................................................................................................................ 45 No tipado........................................................................................................................................................................................ 45 Mensajes ........................................................................................................................................................................................ 46 EL PROCESO DE DESARROLLO .............................................................................................................................................................. 46 CREANDO NUESTRO PRIMER SERVICIO WCF ........................................................................................................................................... 46 Cdigo del Servicio .......................................................................................................................................................................... 57 Servicio.svc ..................................................................................................................................................................................... 58 Web.config ..................................................................................................................................................................................... 58 4.DIRECCIONES ............................................................................................................................................................................... 59 DIRECCIONES WCF .......................................................................................................................................................................... 59 TIPOS DE DIRECCIONES ..................................................................................................................................................................... 59 Direccin de Extremo ...................................................................................................................................................................... 59 Direccin Base ................................................................................................................................................................................ 60 Direccin MEX................................................................................................................................................................................. 60 FORMATO DE DIRECCIONES ................................................................................................................................................................ 60 Direccin HTTP ................................................................................................................................................................................ 61 Direccin HTTPS ............................................................................................................................................................................. 61 Direccin TCP .................................................................................................................................................................................. 61 Direccin MSMQ ............................................................................................................................................................................. 62 Direccin de Canalizacin con Nombre ............................................................................................................................................ 62 Direccin IIS .................................................................................................................................................................................... 62 PROGRAMACIN DE DIRECCIONES EN WCF ........................................................................................................................................... 63 La clase EndpointAdress .................................................................................................................................................................. 63 La propiedad de Identidad............................................................................................................................................................... 64 Coleccin de cabeceras ................................................................................................................................................................... 65 PROGRAMACIN DE DIRECCIONES ........................................................................................................................................................ 65 Direccin base................................................................................................................................................................................. 65 Direccin de Extremo ...................................................................................................................................................................... 66 ESPECIFICAR UN FICHERO DE CONFIGURACIN ......................................................................................................................................... 66 ESPECIFICACIN EN CDIGO ............................................................................................................................................................... 67 Direccin relativa ............................................................................................................................................................................ 68 5.ENLACES ...................................................................................................................................................................................... 69 ENTENDIENDO LOS ENLACES WCF ....................................................................................................................................................... 69 ENLACES PREDEFINIDOS .................................................................................................................................................................... 69 BasicHttpBinding ............................................................................................................................................................................ 70 WsHttpBinding................................................................................................................................................................................ 72 WSDualHttpBinding ........................................................................................................................................................................ 74 WSFederationHttpBinding ............................................................................................................................................................... 76 NetTcpBinding ................................................................................................................................................................................ 78 NetNamedPipeBinding .................................................................................................................................................................... 79 NetMsmqBinding ............................................................................................................................................................................ 81 NetPeerTcpBinding ......................................................................................................................................................................... 84 MsmqIntegrationBinding ................................................................................................................................................................ 85 PROGRAMAR ENLACES WCF .............................................................................................................................................................. 87 Usando Cdigo................................................................................................................................................................................ 87 USANDO EL FICHERO DE CONFIGURACIN .............................................................................................................................................. 99 CASO PRCTICO ............................................................................................................................................................................ 101 6.CONTRATOS .............................................................................................................................................................................. 102 CONTRATOS WCF ......................................................................................................................................................................... 102 CONTRATOS Y SUS RELACIONES CON EL CLR ......................................................................................................................................... 102 Service Contract ............................................................................................................................................................................ 103Propiedades de MsmqIntegrationBinding ............................................................................................................................................... 85 Propiedades NetPeerTcpBinding............................................................................................................................................................. 84 Propiedades NetMsmqBinding................................................................................................................................................................ 81 Propiedades NetNamedPipeBinding ....................................................................................................................................................... 80 Propiedades WS-ReliableMessaging........................................................................................................................................................ 78 Propiedades de WSFederationHttpBinding.............................................................................................................................................. 76 Propiedades WSDualHttpBinding ............................................................................................................................................................ 74 Propiedades BasicHttpBinding ................................................................................................................................................................ 71

Pgina 6

TIPOS DE SERVICIOS ....................................................................................................................................................................... 107 Typed............................................................................................................................................................................................ 107 Typed Messages............................................................................................................................................................................ 108 Untyped ........................................................................................................................................................................................ 108Atributo [OperationContract] ............................................................................................................................................................... 108 Action.............................................................................................................................................................................................. 109 AsyncPattern ................................................................................................................................................................................... 109 IsInitiating........................................................................................................................................................................................ 110 IsOneWay ........................................................................................................................................................................................ 111 IsTerminating................................................................................................................................................................................... 111 Name .............................................................................................................................................................................................. 111 ProtectionLevel................................................................................................................................................................................ 112 ReplyAction ..................................................................................................................................................................................... 112

Atributo [ServiceContract] .................................................................................................................................................................... 104 CallbackContract .............................................................................................................................................................................. 104 ConfigurationName.......................................................................................................................................................................... 105 Name .............................................................................................................................................................................................. 105 Namespace...................................................................................................................................................................................... 106 ProtectionLevel................................................................................................................................................................................ 106 SessionMode ................................................................................................................................................................................... 106

DATA CONTRACTS ......................................................................................................................................................................... 113 Atributo [DataContract] ................................................................................................................................................................ 113 Atributo [DataMember] ................................................................................................................................................................ 115EmitDefaultValue ................................................................................................................................................................................. 115 IsRequiered .......................................................................................................................................................................................... 115 Name ................................................................................................................................................................................................... 116 Order ................................................................................................................................................................................................... 116 MethodName....................................................................................................................................................................................... 117 Type..................................................................................................................................................................................................... 117 Name ................................................................................................................................................................................................... 114 Namespace .......................................................................................................................................................................................... 114

Atributo [KnownType] ................................................................................................................................................................... 116 MESSAGE CONTRACTS .................................................................................................................................................................... 117 Atributo [MessageContract] .......................................................................................................................................................... 118HasProtectionLevel .............................................................................................................................................................................. 118 IsWrapped ........................................................................................................................................................................................... 118 PretectionLevel .................................................................................................................................................................................... 119 WrapperName ..................................................................................................................................................................................... 119 WrapperNamespace............................................................................................................................................................................. 119

Atributo [MessageHeader] ............................................................................................................................................................ 119Actor.................................................................................................................................................................................................... 120 MustUnderstand .................................................................................................................................................................................. 120 Name ................................................................................................................................................................................................... 120 Namespace .......................................................................................................................................................................................... 121 Relay.................................................................................................................................................................................................... 121

Atributo [MessageBodyMember] .................................................................................................................................................. 121 Atributo [MessageProperty] .......................................................................................................................................................... 122 PROGRAMADO CONTRATOS WCF ...................................................................................................................................................... 123 Data Contract ............................................................................................................................................................................... 123 Message Contract ......................................................................................................................................................................... 127 7.CLIENTES ................................................................................................................................................................................... 131 ARQUITECTURA DEL CLIENTE ............................................................................................................................................................. 131 Objetos Cliente.............................................................................................................................................................................. 132 Canales de Cliente ......................................................................................................................................................................... 133 Factoras de Canales ..................................................................................................................................................................... 134La Clase ChannelFactory ....................................................................................................................................................................... 135 Constructores .................................................................................................................................................................................. 135 Propiedades .................................................................................................................................................................................... 135 Mtodos.......................................................................................................................................................................................... 135 IClientChannel...................................................................................................................................................................................... 133 IContextChannel................................................................................................................................................................................... 133 ICommunicationObject ......................................................................................................................................................................... 132 IExtensibleObject ................................................................................................................................................................................. 133 Name ................................................................................................................................................................................................... 122 Name ................................................................................................................................................................................................... 121 Order ................................................................................................................................................................................................... 122

Pgina 7

PATRONES DE COMUNICACIN DEL CLIENTE ......................................................................................................................................... 137 One-Way ...................................................................................................................................................................................... 137 Solicitud/Respuesta....................................................................................................................................................................... 138 Dplex .......................................................................................................................................................................................... 139 SERVICIO ..................................................................................................................................................................................... 139 CLIENTE ...................................................................................................................................................................................... 141 Cliente Dplex usando DupplexChannelFactory.............................................................................................................................. 141 ASNCRONA ................................................................................................................................................................................. 142 Servicio ......................................................................................................................................................................................... 142 Cliente .......................................................................................................................................................................................... 143 CREAR CDIGO DE CLIENTE .............................................................................................................................................................. 143 GENERAR CDIGO DE CLIENTE .......................................................................................................................................................... 143 DEFINIR ENLACES Y EXTREMOS DE CLIENTE .......................................................................................................................................... 144 SERVICIOS TYPED VS SERVICIOS UNTYPED ............................................................................................................................................ 146 Invocar Operaciones de un Servicio Tipado. ................................................................................................................................... 146 Invocar Operaciones de un Servicio no Tipado ............................................................................................................................... 146 INFORMACIN DE UTILIDAD.............................................................................................................................................................. 147 Inicializar Canales interactivamente .............................................................................................................................................. 147 Duracin de la sesin y del canal ................................................................................................................................................... 147 Problemas de bloqueo ................................................................................................................................................................... 148 Manejo de Excepciones ................................................................................................................................................................. 148 CASO PRCTICO ............................................................................................................................................................................ 149 Ejemplo de programacin de un Cliente......................................................................................................................................... 149 ChannelFactory ............................................................................................................................................................................. 149 Dplex .......................................................................................................................................................................................... 154 8.SERVICIOS.................................................................................................................................................................................. 159 TIPOS DE SERVICIOS ....................................................................................................................................................................... 159 Typed............................................................................................................................................................................................ 159 Untyped ........................................................................................................................................................................................ 160 Typed Message ............................................................................................................................................................................. 161 CONTRATOS DE SERVICIO ................................................................................................................................................................ 162 EXTREMOS DE SERVICIO .................................................................................................................................................................. 162 A travs de Cdigo ........................................................................................................................................................................ 162 A travs del archivo de Configuracin ............................................................................................................................................ 163 COMPORTAMIENTOS DE SERVICIO ..................................................................................................................................................... 164 Atributo ServiceBehavior ............................................................................................................................................................... 165AddressFilterMode ............................................................................................................................................................................... 165 AutomaticSessionShutdown ................................................................................................................................................................. 165 ConcurrencyMode................................................................................................................................................................................ 166 ConfigurationName .............................................................................................................................................................................. 167 IgnoreExtensionDataObject .................................................................................................................................................................. 167 IncludeExceptionDetailInFaults ............................................................................................................................................................. 167 InstanceContextMode .......................................................................................................................................................................... 168 ReleaseServiceInstanceOnTransaction Complete................................................................................................................................... 168 TransactionAutoCompleteOnSessionClose ............................................................................................................................................ 169 TransactionIsolationLevel ..................................................................................................................................................................... 169 TransactionTimeout ............................................................................................................................................................................. 170 UseSynchronizedContext ...................................................................................................................................................................... 170 ValidateMustUnderstand...................................................................................................................................................................... 171

Mtodo CreateChannel .................................................................................................................................................................... 136

Atributo OperationBehavior .......................................................................................................................................................... 171AutoDisposeParameters ....................................................................................................................................................................... 172 Impersonation...................................................................................................................................................................................... 172 ReleaseInstanceMode .......................................................................................................................................................................... 172 TransactionAutoComplete .................................................................................................................................................................... 173 TransactionScopeRequired ................................................................................................................................................................... 174

USAR LA CONFIGURACIN PARA LA ESPECIFICACIN DE COMPORTAMIENTOS ................................................................................................. 174 THROTTLING ................................................................................................................................................................................ 175 INSTANCECONTEXT ........................................................................................................................................................................ 175 MANEJO DE EXCEPCIONES ............................................................................................................................................................... 176 FaultException .............................................................................................................................................................................. 176 Atributo FaultContract .................................................................................................................................................................. 177 PROGRAMADO UN EJEMPLO............................................................................................................................................................. 179

Pgina 8

9.TRANSACCIONES Y SESIONES FIABLES ....................................................................................................................................... 184 TRANSACCIONES ........................................................................................................................................................................... 184 Atomicidad ................................................................................................................................................................................... 185 Consistencia .................................................................................................................................................................................. 185 Aislamiento................................................................................................................................................................................... 185 Durabilidad ................................................................................................................................................................................... 185 ATRIBUTOS DE TRANSACTION EN SYSTEM.SERVICEMODEL ....................................................................................................................... 185 Atributo ServiceBehavior ............................................................................................................................................................... 186 Atributo OperationBehavior .......................................................................................................................................................... 187 Atributo TransactionFlow .............................................................................................................................................................. 187 TRANSACIN WS-ATOMIC .............................................................................................................................................................. 188 ESPECIFICAR TRANSACCIONES A TRAVS DE LA CONFIGURACIN ................................................................................................................. 188 SESIONES FIABLES .......................................................................................................................................................................... 189 INTERCAMBIO DE MENSAJES ............................................................................................................................................................ 189 Asegurar los mensajes................................................................................................................................................................... 191 Colas............................................................................................................................................................................................. 194 10.SEGURIDAD ............................................................................................................................................................................. 203 VISTA GENERAL ............................................................................................................................................................................ 203 CONCEPTOS ................................................................................................................................................................................. 203 Integridad ..................................................................................................................................................................................... 204 Confidencialidad ........................................................................................................................................................................... 204 Autenticacin................................................................................................................................................................................ 204 Autorizacin.................................................................................................................................................................................. 204 POR QU SEGURIDAD WCF? .......................................................................................................................................................... 205 Transferencia de Seguridad ........................................................................................................................................................... 205 Control de Acceso / Autenticacin ................................................................................................................................................. 206Miembro ASP.NET y Role Provider ........................................................................................................................................................ 207 Administrador de autorizaciones. ......................................................................................................................................................... 209 Modelo de identidad ............................................................................................................................................................................ 210 Credenciales......................................................................................................................................................................................... 211 WCF y las Colas .................................................................................................................................................................................... 196 Buenas prcticas en el uso de Colas.................................................................................................................................................. 201

Auditora....................................................................................................................................................................................... 211 COMPORTAMIENTOS DE SEGURIDAD Y ENLACES .................................................................................................................................... 213 Comportamientos de Seguridad .................................................................................................................................................... 213Credenciales de Servicio ....................................................................................................................................................................... 213 Credenciales de Cliente ........................................................................................................................................................................ 214 Autorizacin de Servicio ....................................................................................................................................................................... 215

Auditoria de Servicio ..................................................................................................................................................................... 215 ENLACES ..................................................................................................................................................................................... 216 BasicHttpBinding .......................................................................................................................................................................... 216 WSHttpBinding ............................................................................................................................................................................. 216 WSDualHttpBinding ...................................................................................................................................................................... 218 NetTcpBinding .............................................................................................................................................................................. 219 NetNamedPipeBinding .................................................................................................................................................................. 220 MsmqIntegrationBinding .............................................................................................................................................................. 220 NetMsmqBinding .......................................................................................................................................................................... 220 WSFederationBinding.................................................................................................................................................................... 220 ASEGURAR CLIENTES Y SERVICIOS ...................................................................................................................................................... 221 RECOMENDACIONES ....................................................................................................................................................................... 223 11.INTEROPERABILIDAD E INTEGRACIN ..................................................................................................................................... 224 INTEROPERABILIDAD ....................................................................................................................................................................... 224 PROTOCOLO DE SOPORTE PARA SERVICIOS WEB .................................................................................................................................... 224 WSE (MEJORAS DE SERVICIOS WEB) ................................................................................................................................................. 226 SERVICIO WEB .............................................................................................................................................................................. 226 Cliente WCF .................................................................................................................................................................................. 228 SERVICIOS WEB ASP.NET............................................................................................................................................................... 230 WCF/ASP.NET Compatible con extremos ....................................................................................................................................... 230 INTEGRACIN ............................................................................................................................................................................... 231 COM+ ........................................................................................................................................................................................... 232Extremos a travs de cdigo ................................................................................................................................................................. 230 Extremos a travs del archivo de configuracin ..................................................................................................................................... 231

Pgina 9

MSMQ ...................................................................................................................................................................................... 234 Servicios WCF y Clientes MSMQ..................................................................................................................................................... 234 12.DESPLEGAR WCF...................................................................................................................................................................... 236 INSTALAR SERVICIOS WCF ............................................................................................................................................................... 236 SOPORTE DE SISTEMAS OPERATIVOS .................................................................................................................................................. 236 REQUISITOS SOFTWARE ................................................................................................................................................................... 236 .NET Framework ........................................................................................................................................................................... 236 Internet Information Server ........................................................................................................................................................... 236 MICROSOFT MESSAGE QUEUING....................................................................................................................................................... 238 INSTALAR EL SERVICIO WCF ............................................................................................................................................................. 239 IIS ................................................................................................................................................................................................. 239 SERVICIOS WINDOWS ..................................................................................................................................................................... 240 Configuraciones de Servicios WCF.................................................................................................................................................. 241 Actualizacin de Servicios.............................................................................................................................................................. 241 Solucin a problemas de instalaciones WCF ................................................................................................................................... 241 COMUNICACIN CLIENTE/SERVICIO ................................................................................................................................................... 241 Comportamiento inesperado de servicios ...................................................................................................................................... 242 RESUMEN .................................................................................................................................................................................... 242 13.PERSONALIZAR WCF ................................................................................................................................................................ 244 LA EXTENSIN DE SERVICEHOST Y LA CAPA DEL MODELO DE SERVICIO......................................................................................................... 244 CLIENTE ...................................................................................................................................................................................... 244 La Clase ClientRuntime .................................................................................................................................................................. 245 La Clase ClientOperation ............................................................................................................................................................... 246 DISPENSADOR .............................................................................................................................................................................. 249 La Clase DispatchRuntime ............................................................................................................................................................. 249 La Clase DispatchOperation........................................................................................................................................................... 251 COMPORTAMIENTOS ...................................................................................................................................................................... 253 LA EXTENSIN DE LA CAPA DE CANAL .................................................................................................................................................. 254 El canal del Cliente ........................................................................................................................................................................ 255 El canal del Servicio ....................................................................................................................................................................... 255 Desarrollo de canales .................................................................................................................................................................... 256 ELEGIR EL PATRN DE INTERCAMBIO DE MENSAJES ................................................................................................................................. 256 CHANNEL FACTORY Y CHANNEL LISTENER ............................................................................................................................................ 257 AADIR ELEMENTOS DE ENLACE ........................................................................................................................................................ 257 EXTENDER ENLACES ....................................................................................................................................................................... 259 CONSTRUIR ENLACES PERSONALIZADOS .............................................................................................................................................. 259 Modificacin de enlaces WCF ........................................................................................................................................................ 260 14.GESTIONAR WCF...................................................................................................................................................................... 262 TRAZAS ....................................................................................................................................................................................... 262 Realizar trazas de extremo a extremo............................................................................................................................................ 262 Servicio de Trazas.......................................................................................................................................................................... 264 Editor de configuracin del Servicio ............................................................................................................................................... 265Configuracin....................................................................................................................................................................................... 267 Servicios............................................................................................................................................................................................... 267 Cliente ................................................................................................................................................................................................. 267 Enlaces................................................................................................................................................................................................. 267 Diagnsticos......................................................................................................................................................................................... 268 Avanzado ............................................................................................................................................................................................. 269 Comportamientos de extremos ............................................................................................................................................................ 269 Comportamientos de servicios.............................................................................................................................................................. 270 Extensiones.......................................................................................................................................................................................... 270 Tareas .................................................................................................................................................................................................. 271 Detalles................................................................................................................................................................................................ 272 Actividad.............................................................................................................................................................................................. 265 Proyecto .............................................................................................................................................................................................. 265

Herramienta de configuracin del Modelo de Servicio de COM +........................................................................................................... 232

CONTADOR DE RENDIMIENTO ........................................................................................................................................................... 272 15.ALOJAR SERVICIOS WCF........................................................................................................................................................... 275 ALOJAR VS AUTO-ALOJAMIENTO ....................................................................................................................................................... 275 Alojar............................................................................................................................................................................................ 275 Auto-Alojar ................................................................................................................................................................................... 275

Pgina 10

RPIDA COMPARACIN ................................................................................................................................................................... 276 OPCIONES DE ALOJAMIENTO ............................................................................................................................................................. 276 Alojar en el IIS ............................................................................................................................................................................... 276 Alojar en Cdigo Administrado ...................................................................................................................................................... 277 16.NOVEDADES WCF 4.0 .............................................................................................................................................................. 286 17.ALOJAMIENTO ......................................................................................................................................................................... 289 ALOJAR UN SERVICIO WCF EN EL IIS .................................................................................................................................................. 289 ASEGURARSE DE QUE EL IIS Y WCF Y EL COMPONENTE DE ACTIVACIN HTTP DE WCF SE INSTALEN Y SE REGISTREN CORRECTAMENTE. ...................... 290 CREAR UNA NUEVA APLICACIN DE IIS O REUTILICE UNA APLICACIN DE ASP.NET EXISTENTE. .......................................................................... 290 ALOJAMIENTO DE WCF EN PARALELO CON ASP.NET ............................................................................................................................. 290 ALOJAMIENTO DE SERVICIOS WCF EN MODO DE COMPATIBILIDAD DE ASP.NET ........................................................................................... 292 CREAR UN ARCHIVO .SVC PARA EL SERVICIO DE WCF. ............................................................................................................................. 293 LLEVAR A CABO LA IMPLEMENTACIN DE SERVICIO EN LA APLICACIN IIS. .................................................................................................... 294 CONFIGURAR EL SERVICIO DE WCF .................................................................................................................................................... 294 Direcciones de extremos para servicios hospedados en IIS ............................................................................................................. 294 Transportes disponibles................................................................................................................................................................. 295 Seguridad de transporte HTTP ....................................................................................................................................................... 295 ALOJAR UN SERVICIO WCF DE ACTIVACIN DE PROCESOS DE WINDOWS ...................................................................................................... 295 CREACIN DE UN SERVICIO BSICO HOSPEDADO POR WAS ...................................................................................................................... 296 CREACIN DE UN CLIENTE PARA QUE UTILICE EL SERVICIO ......................................................................................................................... 296 ELEMENTOS DEL MODELO DE DIRECCIONAMIENTO DE WAS ..................................................................................................................... 297 El tiempo de ejecucin de WAS ...................................................................................................................................................... 297 INSTALAR Y CONFIGURAR LOS COMPONENTES DE ACTIVACIN DE WCF ....................................................................................................... 297 Instalacin de los componentes de activacin que no son HTTP de WCF......................................................................................... 298 Configuracin de WAS para admitir la activacin TCP .................................................................................................................... 298 Quitar el net.tcp de la lista de protocolos habilitados..................................................................................................................... 298 Quitar el enlace de sitio de net.tcp ................................................................................................................................................ 299 ALOJAR EN UNA APLICACIN DE SERVICIOS DE WINDOWS ........................................................................................................................ 299 HOSPEDAJE DE WCF DENTRO DE UNA APLICACIN DE SERVICIO DE WINDOWS .............................................................................................. 299 Construya el servicio y proporcione el cdigo del hospedaje ........................................................................................................... 300 Instale y ejecute el servicio. ........................................................................................................................................................... 302 ALOJAR UN SERVICIO DE WCF EN UNA APLICACIN GESTIONADA ............................................................................................................... 303 APLICACIONES DE CONSOLA.............................................................................................................................................................. 303 APLICACIONES DE CLIENTE COMPLEJAS ................................................................................................................................................ 303 ACTIVACIN BASADA EN LA CONFIGURACIN EN IIS Y WAS ..................................................................................................................... 303 SOPORTAR MLTIPLES ENLACES DE SITIOS EN EL IIS ................................................................................................................................ 304 MLTIPLES DIRECCIONES BASE .......................................................................................................................................................... 304 18.INTEGRACIN DE SYSTEM.WEB.ROUTING ............................................................................................................................... 305 USAR LA INTEGRACIN DE N:SYSTEM.WEB.ROUTING ............................................................................................................................. 305 ENRUTAMIENTO ............................................................................................................................................................................ 306 ENRUTAMIENTO BASADO EN CONTENIDO ............................................................................................................................................. 306 Agregacin de servicios ................................................................................................................................................................. 306 Control de versiones del servicio .................................................................................................................................................... 307 Enrutamiento de prioridad ............................................................................................................................................................ 307 Puente protocolar ......................................................................................................................................................................... 307 Control de errores ......................................................................................................................................................................... 307 SERVICIO DE ENRUTAMIENTO ........................................................................................................................................................... 307 ENRUTAMIENTO BASADO EN CONTENIDO ............................................................................................................................................. 308 Configuracin dinmica ................................................................................................................................................................ 308 Puente protocolar ......................................................................................................................................................................... 308 PROCESAMIENTO DE SOAP ............................................................................................................................................................. 308 Control de errores ......................................................................................................................................................................... 308 Extremos de reserva ...................................................................................................................................................................... 309 INTRODUCCIN AL ENRUTAMIENTO .................................................................................................................................................... 309 Configuracin ............................................................................................................................................................................... 309 Definicin de extremos .................................................................................................................................................................. 310 LGICA DE ENRUTAMIENTO .............................................................................................................................................................. 311 Multidifusin ................................................................................................................................................................................ 312 Procesamiento de SOAP ................................................................................................................................................................ 312 CONFIGURACIN DINMICA ............................................................................................................................................................. 313Ejemplo de alojamiento........................................................................................................................................................................ 278

Pgina 11

CONTROL DE ERRORES .................................................................................................................................................................... 314 TRAZA DE EXCEPCIONES................................................................................................................................................................... 314 Extremos de reserva ...................................................................................................................................................................... 314 PATRONES DE ERROR ADMITIDOS ....................................................................................................................................................... 315 ALOJAMIENTO .............................................................................................................................................................................. 317 ENRUTAR CONTRATOS .................................................................................................................................................................... 317 Filtros de mensajes........................................................................................................................................................................ 318 TABLA DE ESPACIO DE NOMBRES ........................................................................................................................................................ 319 Tablas de filtros ............................................................................................................................................................................ 320 PRIORIDAD DE LA EVALUACIN DE FILTROS ........................................................................................................................................... 320 Listas de reserva ........................................................................................................................................................................... 321 Escenarios de enrutamiento .......................................................................................................................................................... 321 Escenarios comunes ...................................................................................................................................................................... 322 CONTROL DE VERSIONES DEL SERVICIO ................................................................................................................................................ 322 Particionar datos de servicio ......................................................................................................................................................... 322 Enrutamiento dinmico ................................................................................................................................................................. 323 Multidifusin ................................................................................................................................................................................ 323 Puente protocolar ......................................................................................................................................................................... 323 Control de errores ......................................................................................................................................................................... 323 19.SOPORTE DE MLTIPLES ENLACES AL IIS.................................................................................................................................. 324 MLTIPLES DIRECCIONES BASE .......................................................................................................................................................... 324 CREAR UN SITIO WEB (IIS 7) ............................................................................................................................................................. 324 PARA AGREGAR UN SITIO WEB ........................................................................................................................................................... 325 INTERFAZ DE USUARIO .................................................................................................................................................................... 325 Para usar la interfaz de usuario ..................................................................................................................................................... 325 LNEA DE COMANDOS ..................................................................................................................................................................... 325 20.EXTREMOS ESTANDAR............................................................................................................................................................. 327 EXTREMOS DE INFRAESTRUCTURA ...................................................................................................................................................... 327 EXTREMOS DE APLICACIN ............................................................................................................................................................... 327 CONFIGURAR UN EXTREMO ESTNDAR ................................................................................................................................................ 329 EXTREMOS ESTNDAR DISTRIBUIDOS CON .NET FRAMEWORK.......