2011-04-01 13 views
5

मैं एक साधारण WCF सेवा एक सरल ऑपरेशन किया जाता है कि है: एक अपवाद तब होता है, तो अंदर DoSomething तो एक FaultException लौटा दी जाएगीजब उपयोग करने के लिए WCF दोष अपवाद

[OperationContract] 
DoSomething (Stuff input); 

। यह देखते हुए कि सभी क्लाइंट को यह जानने की जरूरत है कि क्या कुछ गलत हुआ है, क्या आप कहेंगे कि इस परिदृश्य में FaultException को परिभाषित करने की कोई आवश्यकता नहीं है?

+0

अपवाद और दोषों को संभालना - http://msdn.microsoft.com/en-us/library/ms789039.aspx –

उत्तर

4

FaultException वापस करने के लिए हमेशा अच्छा अभ्यास होता है, क्योंकि यदि आप नहीं करते हैं, तो चैनल को दोषी ठहराया जाएगा और फिर से उपयोग नहीं किया जा सकता है।

निर्णय क्या जानकारी (सेवा व्यवहार में) ग्राहक को भेजे जाने के लिए विन्यास में लिया जाता है की जरूरत है:

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

वास्तव में मैं हमेशा सेवा पर IErrorHandler व्यवहार को लागू सभी अपवादों को पकड़ने और FaultException<T> वापस जाने के लिए ताकि मुझे अपने सभी परिचालनों में ऐसा करने की ज़रूरत नहीं है।

संबंधित मुद्दे