7

我知道有几个问题在问同一个问题“我为什么要使用发布模式”。我对答案的问题是,他们只是非常强烈地声明,当网站处于生产状态时,您应该始终使用发布模式。

为什么?

我知道代码在程序集中进行了优化,但是到什么级别呢?它会优化编写良好的代码吗?它执行什么样的优化?

有没有这方面的分析?无论如何我可以测试调试和发布之间的差异吗?

我真的很希望有人了解其中的原因,至少提供一些权威性阅读材料的参考,因为我还没有找到足够难的东西来满足我对这个问题的好奇心。

4

1 回答 1

10

首先阅读:http: //blogs.msdn.com/tess/archive/2006/04/13/575364.aspx,我刚刚发现它是回答这个问题的一部分,这是一篇很棒的文章。

看到这个问题:在什么级别 C# 编译器或 JIT 优化应用程序代码?有关一般编译器优化的一些信息。

此外,请记住,对于更改为发布模式的 Asp.Net Web 应用程序,将在发布模式下编译程序集,但对于页面编译,您可能还需要在 web.config 中编辑编译元素的调试属性。

<compilation defaultLanguage="c#" debug="true">

当设置 debug=true 时,Web 应用程序会做一些奇怪的事情,例如,它们不遵守请求超时,因为它会干扰调试。

这是 Gu 关于这个主题的一篇很棒的文章:Don't run production ASP.NET Applications with debug=”true” enabled

于 2009-11-10T22:24:09.287 回答