2

WCFサービスでなんらかのエラーが発生しました。

何が起こっているのかを判断する必要があるため、サービストレースロギングを有効にしようとしました。

規定のガイドラインに従い、wcf構成エディターを使用して、クライアントとサーバーの両方でトレースとメッセージログを設定しました。

トレースはクライアント側では正常に機能しますが、この場合のメッセージは、実際の障害がサーバー上にあることを示しているだけであり、サーバーログを確認する必要があるため、使用が制限されています。

http:// localhost:24162/MembershipService.svcへのHTTP応答の受信中にエラーが発生しました 。これは、HTTPプロトコルを使用していないサービスエンドポイントバインディングが原因である可能性があります。これは、サーバーによってHTTP要求コンテキストが中止されたことが原因である可能性もあります(おそらくサービスのシャットダウンが原因です)。詳細については、サーバーログを参照してください。

私はデバッグモードで実行しているので、この場合のサーバーはポート24162で実行されているasp.net開発サーバーです。

サービスホストのweb.configの診断セクション:

 <system.diagnostics>
<sources>
  <source propagateActivity="true" name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener" name="Default">
        <filter type="" />
      </add>
      <add name="ServiceModelTraceListener">
        <filter type="" />
      </add>
    </listeners>
  </source>
  <source name="System.ServiceModel.MessageLogging" switchValue="Verbose,ActivityTracing">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener" name="Default">
        <filter type="" />
      </add>
      <add name="ServiceModelMessageLoggingListener">
        <filter type="" />
      </add>
    </listeners>
  </source>
</sources>
<sharedListeners>
  <add initializeData="C:\Logs\web_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
    <filter type="" />
  </add>
  <add initializeData="C:\Logs\web_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
    <filter type="" />
  </add>
</sharedListeners>
<trace autoflush="true" />

およびsystem.servicemodel部分

<system.serviceModel>
        <diagnostics>
      <messageLogging logEntireMessage="true" logKnownPii="true" logMalformedMessages="true"
        logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
      <endToEndTracing propagateActivity="true" activityTracing="true"
        messageFlowTracing="true" />
    </diagnostics>
</system.serviceModel>

ディレクトリ「C:\ Logs」は存在し、「Everyone」にフルコントロールを与えました。念のため、TRACE定数が定義されていることも確認しました。

ご覧のとおり、トレース/メッセージロギングが提供するすべてのものをキャプチャしようとしています。何でも。しかし、残念ながら、私は何も得ていません、灘、ジルチ。

このサイトの現存する質問を確認し、かなりの量のグーグルを行った後、いくつかの提案(フォルダーが存在することを確認し、ユーザーがフォルダーに対する適切なアクセス許可を持っていることを確認する)に従って、トレースがファイルを書き込まない理由を理解することに近づきません。 。トレースログのトラブルシューティング方法に関する提案はありますか?トレースが機能しない理由を示す情報が他の場所に記録されていますか?

参考および将来の読者のために-

サービストレースロギングの設定手順については、ここにアクセスしました。書き込まれていないログファイルのトラブルシューティングを試みるために、ここここに行きました。

4

1 に答える 1

4

トレースログが機能するようになってから、1 か月ほど前にこれを書きました。それがあなたを助けるかどうか見てください。あなたの設定で、間違っているように見えるものは何もありません。ただし、私の設定からやり直すと、状況を明らかにするのに役立つかもしれません。

于 2012-04-15T21:37:36.197 に答える