@ServiceHost Debug =“true” - 性能损失?

时间:2012-04-10 12:05:00

标签: .net wcf performance svc

在svc文件中设置Debug =“true”会有性能损失吗?它是否足以保证在生产环境中将其设置为“假”?

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

由于

3 个答案:

答案 0 :(得分:5)

".svc"文件中,如果您将服务编写为内嵌代码,或在“ App_Code ”文件夹中实施服务并启用{{1}模式,它会影响性能。

通常,在部署到生产环境之前始终设置debug。如果启用了调试模式,则可以降低应用程序的性能。

  

在发布模式下,调试符号不会烘焙到程序集中,因此   您无法使用Visual Studio .NET或其他源代码进行调试   调试器。很酷的是代码也在这期间进行了优化   建立运作。

答案 1 :(得分:3)

简短的回答是,但如果您想了解所有血腥细节,请查看有关该主题的好blog post

答案 2 :(得分:3)

似乎此开关仅控制内联代码生成调试符号。

由其他选项控制的代码隐藏生成的调试符号。

如果您没有内联代码,则不会达到性能。


同时MSDN states以下内容:

  

调试

     

指示是否应使用调试符号编译Windows Communication Foundation(WCF)服务。如果应使用调试符号编译WCF服务,则为true;否则为false。否则,错误。