9

(OperationContract から DataContract を返した後) WCF シリアル化中にアプリケーション例外がスローされるという問題が発生することがあります。私が受け取る唯一の(そしてあまり意味のない)メッセージは

System.ServiceModel.CommunicationException : 基になる接続が閉じられました: 接続が予期せず閉じられました。

内部例外への洞察がないため、シリアル化中にエラーの原因を突き止めるのが非常に困難になります。

これらの例外を追跡、ログ記録、およびデバッグする方法を知っている人はいますか? または、例外をキャッチして処理し、定義された FaulMessage をクライアントに送信できますか?

ありがとうございました

4

2 に答える 2

6

次のようにサービスの動作を構成すると、内部例外が発生するはずです。

<system.serviceModel>
     <behaviors>
         <serviceBehaviors>
               <behavior name="YourServiceBehaviour">
                   ...
                   <serviceDebug includeExceptionDetailInFaults="true" />
                   ...
               </behavior>
         </serviceBehaviors>
     </behaviors>
</system.serviceModel>

さらに、トレースを有効にすることができます。今は良い記事が見つかりませんでしたが、おそらくこれで始められます:

http://developers.de/blogs/damir_dobric/archive/2009/03/24/using-of-wcf-trace.aspx

于 2010-05-06T10:39:29.213 に答える
0

私はその問題を抱えていましたが、それはシリアライゼーションの問題でした...時々、列のないDataTableを送信していました。その場合、チャネルはエラーやトレースなしで閉じられました。

于 2010-09-15T20:47:48.013 に答える