Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si usa ASP.NET hoy y prevé usar WCF en el futuro, en este tema se proporcionan instrucciones para asegurarse de que los nuevos servicios web de ASP.NET funcionarán bien junto con las aplicaciones WCF.
Recomendaciones generales
Adopte ASP.NET 2.0 para los nuevos servicios. Al hacerlo, se proporcionará acceso a las mejoras y perfeccionamientos de la nueva versión. Sin embargo, también permitirá la posibilidad de usar componentes de ASP.NET 2.0 junto con componentes WCF en la misma aplicación.
Protocolos
Utiliza la nueva funcionalidad de ASP.NET 2.0 para validar la conformidad con el Perfil Básico 1.1 de WS-I.
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(
ConformsTo = WsiProfiles.BasicProfile1_1,
EmitConformanceClaims=true)]
public interface IEcho
Los servicios web de ASP.NET que se ajustan al Perfil Básico 1.1 de WS-I serán interoperables con los clientes WCF mediante el enlace predefinido de WCF, BasicHttpBinding.
Desarrollo de servicios
Evite usar el atributo SoapDocumentServiceAttribute para que los mensajes se enruten a métodos en función del nombre completo del elemento de cuerpo del mensaje SOAP en lugar del encabezado HTTP SOAPAction. WCF usa el encabezado HTTP SOAPAction para enrutar mensajes.
Representación de datos
El XML en el que XmlSerializer serializa un tipo de forma predeterminada es semánticamente idéntico al XML en el que serializa DataContractSerializer un tipo, siempre que se defina explícitamente el espacio de nombres para el XML. Al definir un tipo de datos para su uso con ASP.NET servicios web en anticipación de la adopción de WCF en el futuro, haga lo siguiente:
Defina el tipo mediante clases de .NET Framework en lugar de esquema XML.
Agregue solo el SerializableAttribute y el XmlRootAttribute a la clase, utilizando este último para definir explícitamente el espacio de nombres para el tipo. No agregue atributos adicionales del System.Xml.Serialization espacio de nombres para controlar cómo se va a traducir la clase de .NET Framework en XML.
Al adoptar este enfoque, debe poder realizar posteriormente las clases de .NET en contratos de datos con la adición de DataContractAttribute y DataMemberAttribute sin modificar significativamente el XML en el que se serializan las clases para la transmisión. Los tipos usados en los mensajes por ASP.NET servicios web podrán ser procesados como contratos de datos por aplicaciones WCF, lo que produce, entre otras ventajas, un mejor rendimiento en las aplicaciones WCF.
Seguridad
Evite usar las opciones de autenticación proporcionadas por Internet Information Services (IIS). Los clientes WCF no los admiten. Si es necesario proteger un servicio, use las opciones proporcionadas por WCF, ya que estas opciones son más enriquecidas y se basan en protocolos estándar.