- ある種の例外がWCFトレースに記録されないようにする方法はありますか?
- さらに良いことに、1つの特定の例外(つまり、特定のコード行で1つの例外がスローされる)がログに記録されないようにする方法はありますか?
説明:
私は2つのWindowsサービス(A)と(B)に取り組んでいます。サービス(A)で、次のように、 app.configファイルでWCFトレースを有効にしました。
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\WCF-log.txt" />
</listeners>
</source>
</sources>
</system.diagnostics>
このサービス(A)には、他のサービス(B)がダウンしているかどうかを検出するために使用されるコードがあります。これは次のようになります。
try {
serviceB.Ping(); // Exception is thrown here when serviceB is down, and
// logged in the C:\WCF-log.txt file
} catch {
// Manage failed ping (log...)
}
現在、サービス(B)がダウンしている場合がありますが、これは正常です。発生した例外は、アプリケーションによって既に処理されているため、WCFトレースに記録されないようにします。また、「実際の」ファイルがある場合にのみ、 C:\WCF-log.txtファイルを調べる必要があります。問題。