1

Web アプリケーション内に一連の svc ファイルがあり、それらはすべて正常に機能しましたが、aspNetCompatibilityEnabled を true に設定して実行する必要があり、次の例外が発生しました

System.ServiceModel.ServiceActivationException: 要求されたサービス '...' をアクティブ化できませんでした。詳細については、サーバーの診断トレース ログを参照してください。

それが話しているこれらのトレースログはどこにあり、何が原因である可能性がありますか?

ありがとう

4

2 に答える 2

1

したがって、aspNetCompatibilityEnabled を true に変更する場合は、いくつかの場所で変更を適用する必要があります。まず、web.configファイルでそれを行ったと思います。次に、サービス クラスを AspNetCompatibilityRequirements 属性で装飾して、サービスに変更を適用する必要があります。

C#

[AspNetCompatibilityRequirements(
    RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MySampleService
{

}

VB

<Activation.AspNetCompatibilityRequirements( _
RequirementsMode:=Activation.AspNetCompatibilityRequirementsMode.Allowed)> _
public class MySampleService 

End Class

すべてのサービスで許可されている場合は、基本サービス クラスをこの属性でデコレートして、デフォルトですべてのサービスに継承されるようにすることができます。

于 2010-01-14T11:34:23.463 に答える
1

web.config に以下を追加することで、広範なログ情報を有効にすることができます。

<system.diagnostics>
  <trace autoflush="true">
    <listeners>
    </listeners>
  </trace>
  <sources>
    <source name="System.ServiceModel"
            switchValue="Information, ActivityTracing"
            propagateActivity="true">
      <listeners>
        <add name="sdt"
             type="System.Diagnostics.XmlWriterTraceListener"
             initializeData= "WcfDetailTrace.txt" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>

次に、SvcTraceViewer.exeを使用してログ ファイルを表示できます。

于 2009-11-25T10:32:46.763 に答える