2012-04-10 30 views
8

svcファイルにDebug = "true"を設定するとパフォーマンスが低下しますか?プロダクション環境で「false」に設定することを保証するのに十分な意味がありますか?@ServiceHost Debug = "true" - パフォーマンスの低下?

%@ ServiceHost Language="C#" **Debug="true"** Service="AwesomeService" %> 

おかげ

答えて

5

、あなたがインラインコードとしてあなたのサービスを書く、または「にApp_Code」フォルダ内のサービスを実装し、debugモードを有効にしている場合、それがパフォーマンスに影響を与えます。

プロダクションに展開する前に、通常は常にdebug="false"と設定します。デバッグモードを有効にすると、アプリケーションのパフォーマンスが低下する可能性があります。リリースモードで

は、デバッグシンボルはそう Visual Studio .NETまたは他のソースコード デバッガを使ってデバッグすることはできません、アセンブリに焼かれていません。この のビルド操作中にコードが最適化されるという点も優れています。

3

短い答えはイエスですが、あなたはすべての血みどろの詳細をしたい場合は、トピックのこの良いblog postを見てください。あなたの".svc"ファイルで

+0

このブログのエントリはかなり古く、古くなっています。 – abatishchev

+0

Oldには間違った意味はなく、IIS 7.5ではdebug = trueの効果が適用されます。また、使用するASP.NETのバージョンに関係なく、アセンブリがdebug = trueに準拠すると無効になる内部コンパイラの最適化もあります。不正確な点がある場合は、説明してください。 –

3

このスイッチは、インラインコードのデバッグシンボルの生成を制御しているようです。

他のオプションによって制御されるコードビハインド生成のためのデバッグシンボル。

インラインコードがない場合、パフォーマンスは低下しません。


一方MSDN states

デバッグ

は、Windows Communication Foundation(WCF)サービスは、デバッグシンボル付きでコンパイルする必要があるかどうかを示します。 WCFサービスをデバッグシンボルでコンパイルする必要がある場合はtrue、それ以外の場合はfalseです。

関連する問題