Conceptos básicos de Windows Communication FoundationFundamental Windows Communication Foundation Concepts

En este documento se proporciona una vista de alto nivel de la arquitectura de Windows Communication Foundation (WCF).This document provides a high-level view of the Windows Communication Foundation (WCF) architecture. Pretende explicar los conceptos clave y cómo encajan entre ellos.It is intended to explain key concepts and how they fit together. Para ver un tutorial sobre cómo crear la versión más sencilla de un servicio y cliente WCF, consulte Introducción tutorial.For a tutorial on creating the simplest version of a WCF service and client, see Getting Started Tutorial. Para obtener información sobre la programación de WCF, vea programación básica de WCF.To learn WCF programming, see Basic WCF Programming.

Fundamentos de WCFWCF Fundamentals

WCF es un entorno de tiempo de ejecución y un conjunto de API para crear sistemas que envían mensajes entre servicios y clientes.WCF is a runtime and a set of APIs for creating systems that send messages between services and clients. La misma infraestructura y API se utilizan para crear aplicaciones que se comuniquen con otras aplicaciones en el mismo sistema del equipo o en un sistema que resida en otra compañía y a la que se obtenga acceso a través de Internet.The same infrastructure and APIs are used to create applications that communicate with other applications on the same computer system or on a system that resides in another company and is accessed over the Internet.

Mensajería y puntos de conexiónMessaging and Endpoints

WCF se basa en la noción de comunicación basada en mensajes y cualquier cosa que se pueda modelar como un mensaje (por ejemplo, una solicitud HTTP o un mensaje de Message Queuing (también conocido como MSMQ)) se puede representar de manera uniforme en el modelo de programación.WCF is based on the notion of message-based communication, and anything that can be modeled as a message (for example, an HTTP request or a Message Queuing (also known as MSMQ) message) can be represented in a uniform way in the programming model. Esto habilita una API unificada en todos los mecanismos de transporte diferentes.This enables a unified API across different transport mechanisms.

El modelo distingue entre clientes, que son aplicaciones que inician la comunicación y servicios, que son aplicaciones que esperan a que los clientes se comuniquen con ellos y respondan a esa comunicación.The model distinguishes between clients, which are applications that initiate communication, and services, which are applications that wait for clients to communicate with them and respond to that communication. Una única aplicación puede actuar como cliente y como servicio.A single application can act as both a client and a service. Para obtener ejemplos, vea servicios dúplex y redes punto a punto.For examples, see Duplex Services and Peer-to-Peer Networking.

Los mensajes se envían entre puntos de conexión.Messages are sent between endpoints. Los extremos son los lugares donde los mensajes se envían o reciben (o ambos), y definen toda la información requerida para el intercambio de mensajes.Endpoints are places where messages are sent or received (or both), and they define all the information required for the message exchange. Un servicio expone uno o más puntos de conexión de la aplicación (y a cero o más puntos de conexión de la infraestructura), y el cliente genera un punto de conexión que es compatible con uno de los puntos de conexión del servicio.A service exposes one or more application endpoints (as well as zero or more infrastructure endpoints), and the client generates an endpoint that is compatible with one of the service's endpoints.

Un punto de conexión describe de una manera basada en el estándar en la que se deben enviar los mensajes, cómo deben enviarse y el aspecto de los mensajes.An endpoint describes in a standard-based way where messages should be sent, how they should be sent, and what the messages should look like. Un servicio puede exponer esta información como metadatos que los clientes pueden procesar para generar los clientes de WCF y las _pilas_de comunicación adecuados.A service can expose this information as metadata that clients can process to generate appropriate WCF clients and communication stacks.

Protocolos de comunicacionesCommunication Protocols

Un elemento obligatorio de la pila de comunicación es el Protocolo de transporte.One required element of the communication stack is the transport protocol. Los mensajes se pueden enviar a través de intranets e Internet utilizando transportes comunes, como HTTP y TCP.Messages can be sent over intranets and the Internet using common transports, such as HTTP and TCP. Otros transportes incluidos admiten la comunicación con aplicaciones Message Queuing (MSMQ) y nodos en una malla de redes del mismo nivel.Other transports are included that support communication with Message Queuing applications and nodes on a Peer Networking mesh. Se pueden agregar más mecanismos de transporte mediante los puntos de extensión integrados de WCF.More transport mechanisms can be added using the built-in extension points of WCF.

Otro elemento necesario en la pila de comunicación es la codificación que especifica cómo se da formato a cualquier mensaje determinado.Another required element in the communication stack is the encoding that specifies how any given message is formatted. WCF proporciona las codificaciones siguientes:WCF provides the following encodings:

  • Codificación de texto, una codificación interoperable.Text encoding, an interoperable encoding.

  • Codificación Mecanismo de optimización de transmisión de mensajes (MTOM), que es una manera interoperable de enviar eficazmente datos binarios no estructurados a y desde un servicio.Message Transmission Optimization Mechanism (MTOM) encoding, which is an interoperable way for efficiently sending unstructured binary data to and from a service.

  • Codificación binaria para una transferencia eficaz.Binary encoding for efficient transfer.

Se pueden agregar más mecanismos de codificación (por ejemplo, una codificación de compresión) mediante los puntos de extensión integrados de WCF.More encoding mechanisms (for example, a compression encoding) can be added using the built-in extension points of WCF.

Patrones de mensajesMessage Patterns

WCF admite varios patrones de mensajería, como la comunicación de solicitud-respuesta, unidireccionales y dúplex.WCF supports several messaging patterns, including request-reply, one-way, and duplex communication. Los transportes diferentes admiten patrones de mensajería diferentes y, por consiguiente, afectan a los tipos de interacciones que admiten.Different transports support different messaging patterns, and thus affect the types of interactions that they support. Las API y el tiempo de ejecución de WCF también le ayudan a enviar mensajes de manera segura y confiable.The WCF APIs and runtime also help you to send messages securely and reliably.

Términos de WCFWCF Terms

Otros conceptos y términos que se usan en la documentación de WCF son los siguientes:Other concepts and terms used in the WCF documentation include the following:

MensajeMessage
Unidad autónoma de datos que puede constar de varias partes, incluyendo un cuerpo y encabezados.A self-contained unit of data that can consist of several parts, including a body and headers.

ServicioService
Construcción que expone uno o más extremos, y en la que cada extremo expone una o más operaciones de servicio.A construct that exposes one or more endpoints, with each endpoint exposing one or more service operations.

Punto de conexiónEndpoint
Construcción en la que se envían o reciben mensajes (o ambos).A construct at which messages are sent or received (or both). Comprende una ubicación (una dirección) que define dónde se pueden enviar los mensajes, una especificación del mecanismo de comunicación (un enlace) que describe cómo se deben enviar los mensajes y una definición de un conjunto de mensajes que se pueden enviar o recibir (o ambos) en esa ubicación (un contrato de servicio) que describe qué mensaje se puede enviar.It comprises a location (an address) that defines where messages can be sent, a specification of the communication mechanism (a binding) that describes how messages should be sent, and a definition for a set of messages that can be sent or received (or both) at that location (a service contract) that describes what message can be sent.

Un servicio de WCF se expone al mundo como una colección de extremos.A WCF service is exposed to the world as a collection of endpoints.

Extremo de la aplicaciónApplication endpoint
Un extremo expuesto por la aplicación y que corresponde a un contrato de servicios implementado por la aplicación.An endpoint exposed by the application and that corresponds to a service contract implemented by the application.

Punto de conexión de infraestructuraInfrastructure endpoint
Un punto de conexión que expone la infraestructura para facilitar la funcionalidad necesaria o proporcionada por el servicio que no se relaciona con un contrato de servicios.An endpoint that is exposed by the infrastructure to facilitate functionality that is needed or provided by the service that does not relate to a service contract. Por ejemplo, un servicio podría tener un extremo de la infraestructura que proporciona información de metadatos.For example, a service might have an infrastructure endpoint that provides metadata information.

DirecciónAddress
Especifica la ubicación donde se reciben los mensajes.Specifies the location where messages are received. Se especifica como un identificador uniforme de recursos (URI).It is specified as a Uniform Resource Identifier (URI). La parte del esquema URI nombra el mecanismo de transporte que se ha de utilizar para alcanzar la dirección, por ejemplo HTTP y TCP.The URI schema part names the transport mechanism to use to reach the address, such as HTTP and TCP. La parte jerárquica del URI contiene una ubicación única cuyo formato depende del mecanismo de transporte.The hierarchical part of the URI contains a unique location whose format is dependent on the transport mechanism.

La dirección del extremo le permite crear direcciones únicas de extremos para cada extremo de un servicio o, bajo ciertas condiciones, compartir una dirección en los extremos.The endpoint address enables you to create unique endpoint addresses for each endpoint in a service or, under certain conditions, to share an address across endpoints. El siguiente ejemplo muestra una dirección que utiliza el protocolo HTTPS con un puerto no predeterminado:The following example shows an address using the HTTPS protocol with a non-default port:

HTTPS://cohowinery:8005/ServiceModelSamples/CalculatorService

EnlaceBinding
Define cómo se comunica un punto de conexión con el mundo.Defines how an endpoint communicates to the world. Consta de un conjunto de componentes llamados elementos de enlace que se "apilan" uno sobre el otro para crear la infraestructura de comunicaciones.It is constructed of a set of components called binding elements that "stack" one on top of the other to create the communication infrastructure. Como mínimo, un enlace define el transporte (como HTTP o TCP) y la codificación utilizada (por ejemplo, de texto o binaria).At the very least, a binding defines the transport (such as HTTP or TCP) and the encoding being used (such as text or binary). Un enlace puede contener elementos de enlace que especifican detalles, por ejemplo los mecanismos de seguridad utilizados para proteger los mensajes o el patrón de mensaje utilizado por un extremo.A binding can contain binding elements that specify details like the security mechanisms used to secure messages, or the message pattern used by an endpoint. Para obtener más información, vea configuración de servicios.For more information, see Configuring Services.

Elemento de enlaceBinding element
Representa una parte determinada del enlace, por ejemplo un transporte, una codificación, una implementación de un protocolo del nivel de infraestructura (como WS-ReliableMessaging), o cualquier otro componente de la pila de comunicaciones.Represents a particular piece of the binding, such as a transport, an encoding, an implementation of an infrastructure-level protocol (such as WS-ReliableMessaging), or any other component of the communication stack.

DeterminadosBehaviors
Componente que controla varios aspectos del tiempo de ejecución de un servicio, un punto de conexión, una operación determinada o un cliente.A component that controls various run-time aspects of a service, an endpoint, a particular operation, or a client. Los comportamientos están agrupados en función del ámbito: los comportamientos comunes afectan globalmente a todos los puntos de conexión, los comportamientos de servicios sólo afectan a los aspectos relacionados con servicios, los comportamientos de puntos de conexión sólo afectan a las propiedades relacionadas con los puntos de conexión y los comportamientos de operaciones afectan a las operaciones determinadas.Behaviors are grouped according to scope: common behaviors affect all endpoints globally, service behaviors affect only service-related aspects, endpoint behaviors affect only endpoint-related properties, and operation-level behaviors affect particular operations. Por ejemplo, un comportamiento del servicio está limitando que especifica cómo un servicio reacciona cuando un exceso de mensajes amenaza agobiar sus funciones del control.For example, one service behavior is throttling, which specifies how a service reacts when an excess of messages threaten to overwhelm its handling capabilities. Un comportamiento de extremos, por otro lado, solo controla los aspectos relacionados con los extremos, como, por ejemplo, cómo y dónde encontrar una credencial de seguridad.An endpoint behavior, on the other hand, controls only aspects that are relevant to endpoints, such as how and where to find a security credential.

Enlaces proporcionados por el sistemaSystem-provided bindings
WCF incluye varios enlaces proporcionados por el sistema.WCF includes a number of system-provided bindings. Éstas son colecciones de elementos de enlace optimizados para escenarios concretos.These are collections of binding elements that are optimized for specific scenarios. Por ejemplo, WSHttpBinding está diseñado para la interoperabilidad con servicios que implementan varias * Especificaciones de WS.For example, the WSHttpBinding is designed for interoperability with services that implement various WS-* specifications. Estos enlaces predefinidos ahorran tiempo al presentar sólo las opciones que se pueden aplicar correctamente al escenario en cuestión.These predefined bindings save time by presenting only those options that can be correctly applied to the specific scenario. Si un enlace predefinido no cumple sus requisitos, puede crear su propio enlace personalizado.If a predefined binding does not meet your requirements, you can create your own custom binding.

Configuración frente a codificaciónConfiguration versus coding
El control de una aplicación puede realizarse mediante codificación, configuración o a mediante una combinación de ambas.Control of an application can be done either through coding, through configuration, or through a combination of both. La configuración tiene la ventaja de que permite a alguien que no sea el programador (por ejemplo, un administrador de redes) establecer parámetros de servicio y de cliente después de que el código se haya escrito y sin necesidad de recompilar.Configuration has the advantage of allowing someone other than the developer (for example, a network administrator) to set client and service parameters after the code is written and without having to recompile. La configuración no sólo permite establecer valores como las direcciones de los extremos, sino que también proporciona un control adicional al permitir la agregación de extremos, enlaces y comportamientos.Configuration not only enables you to set values like endpoint addresses, but also allows further control by enabling you to add endpoints, bindings, and behaviors. La codificación permite al desarrollador retener un control estricto sobre todos los componentes del servicio o cliente, y cualquier ajuste realizado a través de la configuración se puede inspeccionar y, si fuese necesario, podría invalidarse mediante el código.Coding allows the developer to retain strict control over all components of the service or client, and any settings done through the configuration can be inspected and if needed overridden by the code.

Operación de servicioService operation
Procedimiento definido en el código de un servicio que implementa la funcionalidad de una operación.A procedure defined in a service's code that implements the functionality for an operation. Esta operación se expone a los clientes como métodos en un cliente de WCF.This operation is exposed to clients as methods on a WCF client. El método puede devolver un valor y tomar un número opcional de argumentos, o no tomar ningún argumento y no devolver ninguna respuesta.The method can return a value, and can take an optional number of arguments, or take no arguments, and return no response. Por ejemplo, una operación que funciona como un simple "Hola" se puede utilizar para notificar acerca de la presencia de un cliente y para comenzar una serie de operaciones.For example, an operation that functions as a simple "Hello" can be used as a notification of a client's presence and to begin a series of operations.

Contrato de servicioService contract
Une varias operaciones relacionadas en una unidad funcional única.Ties together multiple related operations into a single functional unit. El contrato puede definir ajustes del nivel de servicio, como el espacio de nombres del servicio, un contrato de devolución de llamadas correspondiente y otros ajustes de este tipo.The contract can define service-level settings, such as the namespace of the service, a corresponding callback contract, and other such settings. En la mayoría de los casos, el contrato se define mediante la creación de una interfaz en el lenguaje de programación que elija y la aplicación del atributo ServiceContractAttribute a la interfaz.In most cases, the contract is defined by creating an interface in the programming language of your choice and applying the ServiceContractAttribute attribute to the interface. El código de servicio real se obtiene al implementar la interfaz.The actual service code results by implementing the interface.

Contrato de la operaciónOperation contract
Un contrato de operación define los parámetros y el tipo de valor devuelto de una operación.An operation contract defines the parameters and return type of an operation. Al crear una interfaz que define el contrato de servicio, se significa un contrato de operación mediante la aplicación del atributo OperationContractAttribute a cada definición de método que forma parte del contrato.When creating an interface that defines the service contract, you signify an operation contract by applying the OperationContractAttribute attribute to each method definition that is part of the contract. Las operaciones se pueden modelar para que acepten un único mensaje y devuelvan también un único mensaje, o para que acepten un conjunto de tipos y devuelvan un tipo.The operations can be modeled as taking a single message and returning a single message, or as taking a set of types and returning a type. En el último caso, el sistema determinará el formato de los mensajes que han de intercambiarse para esa operación.In the latter case, the system will determine the format for the messages that need to be exchanged for that operation.

Contrato de mensajeMessage contract
Describe el formato de un mensaje.Describes the format of a message. Por ejemplo, declara si los elementos del mensaje deberían ir en encabezados frente al cuerpo, qué nivel de seguridad debería aplicarse a qué elementos del mensaje, etc.For example, it declares whether message elements should go in headers versus the body, what level of security should be applied to what elements of the message, and so on.

Contrato de errorFault contract
Puede estar asociado a una operación de servicio para denotar errores que se pueden devolver al autor de la llamada.Can be associated with a service operation to denote errors that can be returned to the caller. Una operación puede tener cero o más errores asociados a ella.An operation can have zero or more faults associated with it. Estos errores son errores de SOAP que se modelan como excepciones en el modelo de programación.These errors are SOAP faults that are modeled as exceptions in the programming model.

Contrato de datosData contract
Las descripciones en los metadatos de los tipos de datos que usa un servicio.The descriptions in metadata of the data types that a service uses. Esto permite a otros interoperar con el servicio.This enables others to interoperate with the service. Los tipos de datos se pueden usar en cualquier parte de un mensaje; por ejemplo, como parámetros o tipos de valores devueltos.The data types can be used in any part of a message, for example, as parameters or return types. Si el servicio sólo utiliza tipos simples, no hay necesidad de utilizar explícitamente contratos de datos.If the service is using only simple types, there is no need to explicitly use data contracts.

Hospedar aplicaciones de WPFHosting
Un servicio debe hospedarse en algún proceso.A service must be hosted in some process. Un host es una aplicación que controla la duración del servicio.A host is an application that controls the lifetime of the service. Los servicios pueden ser autohospedados o estar administrados por un proceso de hospedaje existente.Services can be self-hosted or managed by an existing hosting process.

Servicio autohospedadoSelf-hosted service
Es aquel que se ejecuta dentro de una aplicación de proceso que creó el desarrollador.A service that runs within a process application that the developer created. El desarrollador controla su duración, establece las propiedades del servicio, abre el servicio (que lo establece en un modo de escucha) y cierra el servicio.The developer controls its lifetime, sets the properties of the service, opens the service (which sets it into a listening mode), and closes the service.

Proceso de hospedajeHosting process
Aplicación diseñada para hospedar servicios.An application that is designed to host services. Entre ellos se incluyen Internet Information Services (IIS), Windows Activation Services (WAS) y Windows Services.These include Internet Information Services (IIS), Windows Activation Services (WAS), and Windows Services. En estos escenarios hospedados, el host controla la duración del servicio.In these hosted scenarios, the host controls the lifetime of the service. Por ejemplo, mediante IIS puede configurar un directorio virtual que contenga el ensamblado del servicio y el archivo de configuración.For example, using IIS you can set up a virtual directory that contains the service assembly and configuration file. Cuando se recibe un mensaje, IIS inicia el servicio y controla su duración.When a message is received, IIS starts the service and controls its lifetime.

InstancingInstancing
Un servicio tiene un modelo de creación de instancias.A service has an instancing model. Hay tres modelos de creación de instancias: "único" en el que un objeto CLR único repara todos los clientes; "por llamada", en el que un nuevo objeto CLR se crea para administrar cada llamada de cliente; y "por sesión", en el que se crea un conjunto de objetos CLR, uno para cada sesión individual.There are three instancing models: "single," in which a single CLR object services all the clients; "per call," in which a new CLR object is created to handle each client call; and "per session," in which a set of CLR objects is created, one for each separate session. Para elegir un modelo de creación de instancias se han de tener en cuenta los requisitos de aplicación y el patrón de uso esperado del servicio.The choice of an instancing model depends on the application requirements and the expected usage pattern of the service.

Aplicación clienteClient application
Programa que intercambia mensajes con uno o varios puntos de conexión.A program that exchanges messages with one or more endpoints. La aplicación cliente comienza creando de una instancia de un cliente de WCF y llamando a los métodos del cliente de WCF.The client application begins by creating an instance of a WCF client and calling methods of the WCF client. Es importante tener en cuenta que una única aplicación pueda ser cliente y servicio.It is important to note that a single application can be both a client and a service.

CanalChannel
Implementación concreta de un elemento de enlace.A concrete implementation of a binding element. El enlace representa la configuración, y el canal es la implementación asociada a esa configuración.The binding represents the configuration, and the channel is the implementation associated with that configuration. Por consiguiente, hay un canal asociado a cada elemento de enlace.Therefore, there is a channel associated with each binding element. Los canales se apilan uno sobre otro para crear la implementación concreta del enlace: la pila de canales.Channels stack on top of each other to create the concrete implementation of the binding: the channel stack.

cliente de WCFWCF client
Una construcción de aplicación cliente que expone las operaciones de servicio como métodos (en el lenguaje de programación .NET Framework que elija, como Visual Basic o Visual C#).A client-application construct that exposes the service operations as methods (in the .NET Framework programming language of your choice, such as Visual Basic or Visual C#). Cualquier aplicación puede hospedar a un cliente de WCF, incluso una aplicación que hospede un servicio.Any application can host a WCF client, including an application that hosts a service. Por tanto, es posible crear un servicio que incluya clientes de WCF de otros servicios.Therefore, it is possible to create a service that includes WCF clients of other services.

Un cliente de WCF se puede generar automáticamente mediante la herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe) y apuntarlo a un servicio en ejecución que publica los metadatos.A WCF client can be automatically generated by using the ServiceModel Metadata Utility Tool (Svcutil.exe) and pointing it at a running service that publishes metadata.

MetadataMetadata
En un servicio, describen las características de este que tiene que comprender una entidad externa para comunicarse con él.In a service, describes the characteristics of the service that an external entity needs to understand to communicate with the service. La herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe) puede consumir los metadatos para generar un cliente de WCF y la configuración adjunta que puede usar una aplicación cliente para interactuar con el servicio.Metadata can be consumed by the ServiceModel Metadata Utility Tool (Svcutil.exe) to generate a WCF client and accompanying configuration that a client application can use to interact with the service.

Los metadatos expuestos por el servicio incluyen documentos de esquema XML, que definen el contrato de datos del servicio, y documentos WSDL, que describen los métodos del servicio.The metadata exposed by the service includes XML schema documents, which define the data contract of the service, and WSDL documents, which describe the methods of the service.

Cuando se habilita, WCFG genera automáticamente los metadatos del servicio mediante la inspección del servicio y sus puntos de conexión.When enabled, metadata for the service is automatically generated by WCF by inspecting the service and its endpoints. Para publicar los metadatos desde un servicio, debe permitir explícitamente al comportamiento de los metadatos.To publish metadata from a service, you must explicitly enable the metadata behavior.

SeguridadSecurity
En WCF, incluye confidencialidad (cifrado de mensajes para evitar la interceptación), integridad (los medios para la detección de alteración del mensaje), autenticación (los medios para la validación de servidores y clientes) y autorización (el control de acceso a los recursos).In WCF, includes confidentiality (encryption of messages to prevent eavesdropping), integrity (the means for detection of tampering with the message), authentication (the means for validation of servers and clients), and authorization (the control of access to resources). Estas funciones se proporcionan mediante el uso de mecanismos de seguridad existentes, como TLS sobre HTTP (también conocido como HTTPS), o la implementación de una o varias especificaciones de WS- * Security.These functions are provided by either leveraging existing security mechanisms, such as TLS over HTTP (also known as HTTPS), or by implementing one or more of the various WS-* security specifications.

Modo de seguridad de transporteTransport security mode
Especifica que los mecanismos del nivel de transporte (como HTTPS) proporcionan confidencialidad, integridad y autenticación.Specifies that confidentiality, integrity, and authentication are provided by the transport layer mechanisms (such as HTTPS). El uso de un transporte como HTTPS en este modo tiene la ventaja de ofrecer un mejor rendimiento. También se entiende bien debido a su predominio en Internet.When using a transport like HTTPS, this mode has the advantage of being efficient in its performance, and well understood because of its prevalence on the Internet. La desventaja es que este tipo de seguridad se aplica por separado en cada salto en la ruta de comunicación, provocando que la comunicación sea susceptible a un ataque tipo “man in the middle”.The disadvantage is that this kind of security is applied separately on each hop in the communication path, making the communication susceptible to a "man in the middle" attack.

Modo de seguridad de mensajesMessage security mode
Especifica que la seguridad se proporciona mediante la implementación de una o varias especificaciones de seguridad, como la especificación denominada seguridad de servicios web: seguridad del mensaje SOAP.Specifies that security is provided by implementing one or more of the security specifications, such as the specification named Web Services Security: SOAP Message Security. Cada mensaje contiene los mecanismos necesarios para proporcionar la seguridad durante su tránsito y para permitir que los receptores detecten la manipulación y el descifrado de mensajes.Each message contains the necessary mechanisms to provide security during its transit, and to enable the receivers to detect tampering and to decrypt the messages. En este sentido, la seguridad se encapsula dentro de cada mensaje, con lo que se proporciona una seguridad de extremo a extremo en varios saltos.In this sense, the security is encapsulated within every message, providing end-to-end security across multiple hops. Dado que la información de seguridad se convierte en parte del mensaje, también es posible incluir varios tipos de credenciales con el mensaje (a las que se hace referencia como notificaciones).Because security information becomes part of the message, it is also possible to include multiple kinds of credentials with the message (these are referred to as claims). Este enfoque también tiene la ventaja de permitir al mensaje viajar de manera segura sobre cualquier transporte, incluyendo varios transportes entre su origen y destino.This approach also has the advantage of enabling the message to travel securely over any transport, including multiple transports between its origin and destination. La desventaja de este enfoque es la complejidad de los mecanismos de cifrado empleados, que afectan al rendimiento.The disadvantage of this approach is the complexity of the cryptographic mechanisms employed, resulting in performance implications.

Transporte con el modo de seguridad de credenciales de mensajeTransport with message credential security mode
Especifica el uso del nivel de transporte para proporcionar la confidencialidad, autenticación e integridad de los mensajes, mientras que cada uno de los mensajes puede contener varias credenciales (notificaciones) requeridas por parte de los receptores del mensaje.Specifies the use of the transport layer to provide confidentiality, authentication, and integrity of the messages, while each of the messages can contain multiple credentials (claims) required by the receivers of the message.

WS*WS-*
Modo abreviado para el creciente conjunto de especificaciones de servicios Web (WS) que se implementan en WCF, tales como WS-Security, WS-ReliableMessaging, etc.Shorthand for the growing set of Web Service (WS) specifications, such as WS-Security, WS-ReliableMessaging, and so on, that are implemented in WCF.

Vea tambiénSee also