【发布时间】:2011-05-20 08:07:41
【问题描述】:
进入您的 iis 机器级别设置并添加
<deployment retail="true" />
在http://msdn.microsoft.com/en-us/library/ms228298.aspx中指定
创建一个新的网络项目,添加标签,然后添加以下代码。
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = HttpContext.Current.IsDebuggingEnabled.ToString();
}
//Result: true
我错过了什么?
更新:我更新了机器配置的 64 位和 32 位版本的值。服务器正在运行 IIS7.5。重新启动没有帮助。
更新 2:
使用 Reflector 单步执行 V4 框架,我得到以下代码。
public bool IsDebuggingEnabled
{
get
{
try
{
return CompilationUtil.IsDebuggingEnabled(this);
}
catch
{
return false;
}
}
}
internal static bool IsDebuggingEnabled(HttpContext context)
{
return MTConfigUtil.GetCompilationConfig(context).Debug;
}
//Here is where I lose whats going on... Either way, if what Yaur said is correct then
//I believe that value is not only useless but dangerously misleading.
internal static CompilationSection GetCompilationConfig(HttpContext context)
{
if (!UseMTConfig)
{
return RuntimeConfig.GetConfig(context).Compilation;
}
return GetConfig<CompilationSection>(context);
}
无论如何。我可以确认的是该功能似乎不起作用。
PS:@Yaur - 是的,我已尝试更改该值,并且我很清楚使用此方法的替代方法,但重点是此方法应该简化部署。
【问题讨论】:
-
我正在进一步研究这个问题,但现在请注意,这些要求提到了针对 IIS6,下面的博文来自 2006 年
-
公平点,但请注意,该页面是框架 4 之一。如果他们能具体说明“要求”是“最低要求”还是“绝对要求”,那就太好了
-
是的,我知道。所以“零售”技巧适用于编译的二进制文件,但似乎不会影响当前上下文,仍然反映......它似乎只影响跟踪,而不是调试的东西。诚然,您必须有用于跟踪的调试,但您不必有用于调试的跟踪
-
接下来要尝试的是使用反射器专业版进入它,看看它在运行时做了什么。不过,我要到明天晚上才能做到这一点。
标签: c# asp.net deployment debugging