2013-08-29 17 views
11

これはおそらくかなり基本的な質問ですが、私はWCFとサービスの作成にまったく新しいものです。私はMicrosoft VS 2010 C#4を使用してローカルホストWCFサービスを実行しています。私は簡単なバインディングを介してURLを介してPUTとGETメソッドを実行して、URLを通じてサービスを実行しようとしています。私は:WCFサービス:サーバーログを検索してエラーを理解する方法

を得ています。詳細はサーバーログを参照してください。

サービスリクエストを作成しようとするとエラーが発生します。これらのサーバーログはどのようにして見つけることができますか?

答えて

11

ロギングがオンになっている必要はありません。 WCF設定(app.configまたはweb.config)でトレースとロギングを有効にする必要があります。 これは手動で行うこともできますし、app.configをクリックしてWCF設定の編集を選択することもできます。このアイテムがコンテキストメニューに表示されない場合(旧バージョンのVSで発生します)、VS Toolsメニューまたは手動で実行することで見つけられます(SvcConfigEditor.exe)。

デフォルトでは、アプリケーションは実行されたディレクトリ内のファイルに記録されます。ロギングを有効にすると、設定エディタでこれを編集できます。エディタでは、ロギングまたはトレースを有効にした後にファイルパスを指定できます。

WCF Configuration Editor

後で大きなXMLSとして、ファイルを経由するために、Microsoftサービストレースビューアツールを使用して、ユーザーフレンドリーではありませんすることができます。ビューアツールはログファイルをダブルクリックするか、手動で実行する必要があります(SvcTraceViewer.exe)。

enter image description here

+0

ありがとうございました。誰かがWCFテストクライアントを見せてくれました。 –

+0

はい、** WcfTestClient.exe **は超クールなツールです。また、WCFなしで作成されたWebサービスにも役立ちます。 –

+0

@NikolaRadosavljević、IISでホストされているWCFサービスが何らかのエラーでホストに失敗した場合、ログをトレースしますか? web.configにログを追加しようとしました。サービスが利用できないというエラーが表示されますが、アドレス自体をホストするサービスが失敗した理由は記録されません。それは記録されていますか? – Drag0nKn1ght

12

あなたのweb.configファイルにこれを追加します。 tracelistenerのinitializeData属性のどこにログが書き込まれるかを指定します。

<system.serviceModel> 
    <diagnostics> 
     <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" /> 
    </diagnostics> 
</system.serviceModel> 
<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> 
      <listeners> 
       <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\Temp\SvcLog\Traces.svclog" /> 
      </listeners> 
     </source> 
    </sources> 
</system.diagnostics> 
+0

サービスが送信する応答XMLを確認できますか?ログファイルに表示されませんでした –

関連する問題