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.
El control de errores HTTP web de Windows Communication Foundation (WCF) permite devolver errores de los servicios HTTP web de WCF que especifican un código de estado HTTP y devuelven detalles de error con el mismo formato que la operación (por ejemplo, XML o JSON).
Control de errores HTTP web de WCF
La WebFaultException clase define un constructor que permite especificar un código de estado HTTP. A continuación, este código de estado se devuelve al cliente. Una versión genérica de la WebFaultException clase permite WebFaultException<T> devolver un tipo definido por el usuario que contiene información sobre el error que se produjo. Este objeto personalizado se serializa con el formato especificado por la operación y se devuelve al cliente. En el ejemplo siguiente se muestra cómo devolver un código de estado HTTP.
public string Operation1()
{
// Operation logic
// ...
throw new WebFaultException(HttpStatusCode.Forbidden);
}
En el ejemplo siguiente se muestra cómo devolver un código de estado HTTP e información adicional en un tipo definido por el usuario. MyErrorDetail
es un tipo definido por el usuario que contiene información adicional sobre el error que se produjo.
public string Operation2()
{
// Operation logic
// ...
MyErrorDetail detail = new MyErrorDetail()
{
Message = "Error Message",
ErrorCode = 123,
}
throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);
}
El código anterior devuelve una respuesta HTTP con el código de estado prohibido y un cuerpo que contiene una instancia del MyErrorDetails
objeto . El formato del MyErrorDetails
objeto viene determinado por:
El valor del parámetro
ResponseFormat
del atributo WebGetAttribute o WebInvokeAttribute especificado en la operación del servicio.El valor de AutomaticFormatSelectionEnabled.
El valor de propiedad Format mediante el acceso a OutgoingWebResponseContext.
Para obtener más información sobre cómo afectan estos valores al formato de la operación, vea Formato HTTP web de WCF.
WebFaultException es una FaultException y, por lo tanto, se puede usar como modelo de programación de excepción de errores para los servicios que exponen extremos de SOAP y extremos web HTTP.