2011-04-01 3 views
5

J'ai un service simple WCF qui effectue une opération simple:Quand utiliser WCF Exception défaut

[OperationContract] 
DoSomething (Stuff input); 

Si une exception se produit à l'intérieur DoSomething alors FaultException sera retourné. Étant donné que tout le client a besoin de savoir si quelque chose s'est mal passé, diriez-vous qu'il n'est pas nécessaire de définir un FaultException dans ce scénario?

+0

Gestion des exceptions et des erreurs - http://msdn.microsoft.com/fr-fr/library/ms789039.aspx –

Répondre

4

Il est toujours recommandé de renvoyer un FaultException, car si ce n'est pas le cas, le canal sera considéré comme et ne pourra plus être utilisé.

La décision que les informations doivent être envoyées au client est pris dans la configuration (dans le comportement de service):

  <serviceBehaviors> 
       <behavior name="myName"> 
        <serviceDebug includeExceptionDetailInFaults="true" /> 
     // .... 

En fait je mettre toujours le comportement IErrorHandler sur le service pour attraper toutes les exceptions et retour FaultException<T> de sorte que je n'ai pas à le faire dans toutes mes opérations.