1

WCF サービスで否認防止を提供する必要があり、すべての着信 SOAP 要求を、署名/セキュリティ データとすべてのエンベロープを含む SQL サーバー DB に格納したいと考えています。

このようにして、問題が発生したときに、クライアントに「こんにちは、これはあなたの署名付きメッセージですとあなたが書いたとおりに伝えることができます。これを行うには、SOAP エンベロープ XML と永続化されたビジネス オブジェクト/トランザクションとの間の関係を保存する必要があります。

例:これは、顧客 ID=4567顧客データブルに追加するために使用されるSOAP エンベロープです。

SOAP エンベロープとアプリによって実行されるビジネス トランザクションとの間のリンクを確立する必要があります。ログに記録されたメッセージの @@identity を保存することが解決策になる可能性があります。でも、どこに置くの?SOAP 本体で? 記憶にとどめますか?

WCF でのログ記録について読んで、テキスト ファイルではなくログ情報をテーブルに挿入するデータベース ロガーを作成しましたが、このデータを、WCF サービスの方法。これが正しいアプローチかどうかさえわかりません!

パターン/ヒント/ヒント/ツール/ヘルプをいただければ幸いです。ありがとう。

4

1 に答える 1

0

WCF のメッセージ ログ機能 ( http://msdn.microsoft.com/en-us/library/ms730064.aspx ) を有効にしている場合は、カスタム リスナーを作成し、そこに必要なすべてのロジックを追加できます。カスタム リスナーを作成するには、TraceListener インターフェイス (かなり単純) を実装し、それを使用するように WCF を構成し、それを system.diagnostics 内の listeners セクションに追加して、既定のリスナーを置き換えるだけです。

于 2010-07-22T14:36:36.810 に答える