Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

FaultException (Clase)

Representa un error de SOAP.

Espacio de nombres:  System.ServiceModel
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)

[SerializableAttribute]
public class FaultException : CommunicationException

El tipo FaultException expone los siguientes miembros.

  NombreDescripción
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifFaultException()Inicializa una nueva instancia de la clase FaultException.
Método públicoFaultException(FaultReason)Inicializa una instancia nueva de la clase FaultException con la razón especificada.
Método públicoFaultException(MessageFault)Inicializa una instancia nueva de la clase FaultException con los valores de error del mensaje especificado.
Método públicoFaultException(String)Inicializa una instancia nueva de la clase FaultException con el razón del error especificada.
Método públicoFaultException(FaultReason, FaultCode)Inicializa una instancia nueva de la clase FaultException con la razón y el código de error especificados.
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifFaultException(MessageFault, String)Inicializa una instancia nueva de la clase FaultException con los valores de error del mensaje especificados y la cadena de acciones proporcionada.
Método protegidoFaultException(SerializationInfo, StreamingContext)Inicializa una nueva instancia de la clase FaultException con los parámetros especificados: la información de serialización y el contexto al deserializar una secuencia en un objeto FaultException.
Método públicoFaultException(String, FaultCode)Inicializa una instancia nueva de la clase FaultException con la razón especificada y el código de error de SOAP.
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifFaultException(FaultReason, FaultCode, String)Inicializa una instancia nueva de la clase FaultException con la razón, código de error y valor de acción especificados.
Método públicoFaultException(String, FaultCode, String)Inicializa una instancia nueva de la clase FaultException con la razón, código de error y valor de acción especificados.
Arriba

  NombreDescripción
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifActionObtiene el valor de la acción de SOAP para el mensaje de error.
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifCodeObtiene el código de error para el error de SOAP.
Propiedad públicaDataObtiene una colección de pares de clave y valor que proporcionan información adicional definida por el usuario acerca de la excepción. (Se hereda de Exception).
Propiedad públicaHelpLinkObtiene o establece un vínculo al archivo de ayuda asociado a esta excepción. (Se hereda de Exception).
Propiedad protegidams576192.PortableClassLibrary(es-es,VS.100).gifHResultObtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica. (Se hereda de Exception).
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifInnerExceptionObtiene la instancia Exception que produjo la excepción actual. (Se hereda de Exception).
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifMessageObtiene el mensaje para la excepción. (Invalida a Exception.Message).
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifReasonObtiene FaultReason para el error de SOAP.
Propiedad públicaSourceDevuelve o establece el nombre de la aplicación o del objeto que generó el error. (Se hereda de Exception).
Propiedad públicams576192.PortableClassLibrary(es-es,VS.100).gifStackTraceObtiene una representación de cadena de los marcos inmediatos en la pila de llamadas. (Se hereda de Exception).
Propiedad públicaTargetSiteObtiene el método que produjo la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Método públicoMiembro estáticoms576192.PortableClassLibrary(es-es,VS.100).gifCreateFault(MessageFault, Type[])Devuelve un objeto FaultException desde el error del mensaje especificado y una matriz de tipos de detalle.
Método públicoMiembro estáticoms576192.PortableClassLibrary(es-es,VS.100).gifCreateFault(MessageFault, String, Type[])Devuelve un objeto FaultException desde el error del mensaje, la acción y una matriz de tipos de detalle especificados.
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifCreateMessageFaultDevuelve un objeto MessageFault.
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoms576192.PortableClassLibrary(es-es,VS.100).gifFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifGetBaseExceptionCuando se reemplaza en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores. (Se hereda de Exception).
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetObjectDataImplementación del método ISerializable.GetObjectData al que se llama cuando el objeto se serializa en una secuencia. (Invalida a Exception.GetObjectData(SerializationInfo, StreamingContext)).
Método públicoGetTypeObtiene el tipo en tiempo de ejecución de la instancia actual. (Se hereda de Exception).
Método protegidoms576192.PortableClassLibrary(es-es,VS.100).gifMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoms576192.PortableClassLibrary(es-es,VS.100).gifToStringCrea y devuelve una representación de cadena de la excepción actual. (Se hereda de Exception).
Arriba

  NombreDescripción
Evento protegidoSerializeObjectStateSe produce cuando se serializa una excepción para crear un objeto de estados de excepción que contiene datos serializados sobre la excepción. (Se hereda de Exception).
Arriba

En un servicio, utilice la clase FaultException para crear un error sin tipo que devolver al cliente para fines de depuración.

En un cliente, detecte objetos FaultException para administrar errores desconocidos o genéricos, como aquellos devueltos por un servicio con la propiedad IncludeExceptionDetailInFaults establecida como true.Dado que FaultException extiende CommunicationException, recuerde detectar cualquier objeto FaultException antes de detectar objetos CommunicationException si desea hacerlo por separado.

NotaNota

Los servicios dúplex también pueden detectar objetos FaultException devueltos de su interacción con un cliente dúplex.

En general, se recomienda encarecidamente que utilice FaultContractAttribute para diseñar los servicios para devolver los errores de SOAP fuertemente tipados (y no los objetos de excepción administrados) para todos los casos de error en los que decida que el cliente necesita información sobre el error.Sin embargo, utilice FaultException en las siguientes situaciones:

  • Para enviar los errores de SOAP desde un servicio para fines de depuración.

  • Para detectar los errores de SOAP en un cliente cuando los errores no forman parte del contrato de servicio.

Inicie los objetos FaultException cuando desee pasar la cadena al constructor y que el cliente la recupere llamando al método FaultException<TDetail>.ToString.Si especifica un contrato de error de tipo System.ServiceModel.FaultException<TDetail> donde el parámetro de tipo es System.String, el valor de la cadena estará disponible como propiedad FaultException<TDetail>.Detail y no llamando a FaultException<TDetail>.ToString.

Para obtener detalles, vea Handling Faults in Windows Communication Foundation Contracts.

El ejemplo de código siguiente muestra el uso de un bloque try/catch para detectar y administrar los objetos FaultException iniciados desde un servicio.Esto ocurre a menudo cuando se activa la depuración en la aplicación de servicio.


using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using Microsoft.WCF.Documentation;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the configuration file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.ReadLine();
    }
    // Catch the contractually specified SOAP fault raised here as an exception.
    catch (FaultException<GreetingFault> greetingFault)
    {
      Console.WriteLine(greetingFault.Detail.Message);
      Console.Read();
      wcfClient.Abort();
    }
    // Catch unrecognized faults. This handler receives exceptions thrown by WCF
    // services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    // is set to true.
    catch (FaultException faultEx)
    {
      Console.WriteLine("An unknown exception was received. " 
        + faultEx.Message
        + faultEx.StackTrace
      );
      Console.Read();
      wcfClient.Abort();
    }
    // Standard communication fault handler.
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message + commProblem.StackTrace);
      Console.Read();
      wcfClient.Abort();
    }
  }
}



<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior>
        <serviceMetadata httpGetEnabled="true"/>
        <serviceDebug includeExceptionDetailInFaults="false"/>
        <!-- Add the greetingFaultBehavior -->
        <greetingFaultBehavior />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  <!-- Register the class that implements the configuration element -->
  <extensions>
    <behaviorExtensions>
      <add
        name="greetingFaultBehavior"
        type="GreetingService.GreetingFaultBehaviorExtensionElement, GreetingService, Version=1.0.0.0, Culture=neutral"
      />
    </behaviorExtensions>
  </extensions>
</system.serviceModel>


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft