2009-07-24 12 views
13

サービストレースビューアを使用して、アプリケーションで行われたWCFサービスコールを分析しましたが、実際にサービスメソッドに渡されるパラメータ値を確認する必要がありますか?これは可能ですか?最大出力にログを回してみましたが、まだ何も見ることができませんでした。(パラメータ情報付きWCFサービスコールのログ

答えて

18

メッセージトレースを有効にすると、両方の呼び出しのすべての詳細(メッセージのXML表現を含む)同様の答え:

<system.diagnostics > 
    <sources> 
    <source 
     name="System.ServiceModel.MessageLogging" 
     switchValue="Information, ActivityTracing" > 
     <listeners> 
      <add name="yourTrace" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\Logs\YourMessageLog.svclog"> 
      <filter type="" /> 
      </add> 
     </listeners> 
    </source> 
    </sources> 
    <trace autoflush="true" /> 
</system.diagnostics> 
<system.serviceModel> 
    <diagnostics> 
     <messageLogging 
      logMessagesAtTransportLevel="true" 
      logMessagesAtServiceLevel="false" 
      logMalformedMessages="true" 
      logEntireMessage="true" 
      maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> 
    </diagnostics> 
</system.serviceModel> 

このディレクトリに「YourMessageLog.svclog」と呼ばれるファイルを作成する必要があります「C:\ログ」(事前に存在しなければならない!)とこれを使用して、WCFサービストレースで見ることができますビューア

ここでは、のメッセージのXML表現とt彼の応答が戻ってきます - あなたのパラメータはここであなたのXML構造にラップされます。それはあなたが探しているものですか?

+0

私はこのようにメッセージのログを設定しようとしましたが、クライアントではなくサーバーで実行していたので、期待通りの動作をしていませんでした。私に正しい方法を指すための乾杯:) –

+1

リスナーの型はSystem.Diagnostics.XmlWriterTraceListenerである必要があります –

+0

私は私のWCFサービスDataContractとintを取得する関数で使用しています。私はトレースビューアでWCFサービスに渡されたパラメータを見る必要があります。 –

関連する問題