MSDN ドキュメントを調べましたが、具体的な答えが見つかりませんでした。
@ServiceHost の Debug プロパティは Web.config のコンパイル属性をオーバーライドしますか、それとも web.config 属性はすべてをオーバーライドしますか?
ありがとう。
MSDN ドキュメントを調べましたが、具体的な答えが見つかりませんでした。
@ServiceHost の Debug プロパティは Web.config のコンパイル属性をオーバーライドしますか、それとも web.config 属性はすべてをオーバーライドしますか?
ありがとう。
によると:http://msdn.microsoft.com/en-us/library/aa702682.aspx
ASP.NET HTTP ランタイムは ASP.NET 要求を処理しますが、WCF サービスが ASP.NET コンテンツと同じ AppDomain でホストされている場合でも、WCF サービス宛ての要求の処理には参加しません。代わりに、WCF サービス モデルは、WCF サービス宛てのメッセージをインターセプトし、WCF トランスポート/チャネル スタックを介してルーティングします。
サービスを WCF の ASP.NET 互換モードで実行している場合を除きます。その場合...
WCF ホスティング インフラストラクチャが WCF メッセージをインターセプトし、HTTP パイプラインからルーティングする既定のサイド バイ サイド構成とは異なり、ASP.NET 互換モードで実行されている WCF サービスは、ASP.NET HTTP 要求のライフサイクルに完全に参加します。互換モードでは、WCF サービスは IHttpHandler 実装を通じて HTTP パイプラインを使用します。これは、ASPX ページおよび ASMX Web サービスの要求が処理される方法と同様です。
このアサーションを受け入れると、構成の継承を尊重する必要があることがわかります。
確認したい場合は、おそらくテストを設定できます...
ASP.NET 互換モードで実行されている WCF サービスは、HttpContext.Current とそれに関連付けられた状態にアクセスできます。つまり、IsDebuggingEnabled プロパティを調べて、デバッグ モードかどうかを確認できます。#if DEBUG などのコンパイラ ディレクティブを使用して、コード ブロックに到達したかどうかを確認することもできます。
最終的な判決がどうなるか非常に興味があります。この質問の鍵は、これが IIS でホストされている WCF サービスであるかどうか、および AspCompatibility モードで実行されているかどうかであると思います。