System.Web.HttpContext.Current.IsDebuggingEnabled
和之间有什么区别System.Diagnostics.Debugger.IsAttached
吗?
如果是这样,除了一个仅用于Web应用程序而另一个用于所有类型的项目这一事实之外,还有哪些确切的区别?
Pat*_*man 20
HttpContext.IsDebuggingEnabled
是关于web.config中的编译设置.Debugger.IsAttached
定义是否实际上有一个活动的调试器监听来自Web服务器的信息.
见在解释DotnetPerls有关HttpContext.IsDebuggingEnabled
:
调试模式不是默认模式....如果未在Web.config中设置debug ="true",则以发布模式编译站点.
关于你的问题为什么第一个'仅适用于Web应用程序':Web应用程序能够在运行时进行编译,而所有其他.NET产品都是预编译的.因此,您可以在web.config中定义构建是在Debug或Release模式下完成的.这是仅ASP.NET选项,因此该属性仅在那里可用.
作为第二个问题的答案,为什么第一个选项仅适用于ASP.NET:Windows应用程序还有一种方法可以检查它的构建状态:通过检查如何检查是否使用Debug构建程序DebuggableAttribute
集中的说明或发布配置?.
IsDebuggingEnabled
是指"调试模式",它并不一定意味着实际附加了调试器.您可以通过<compilation debug="true">
在web.config
文件中设置将ASP.NET网站设置为调试模式.
当网站处于调试模式时,JIT优化不会应用于视图文件(.aspx,.cshtml等)中包含的代码以及任何运行时编译的代码隐藏文件或App_Code
目录.还有其他影响.
归档时间: |
|
查看次数: |
7324 次 |
最近记录: |