2

我开发了很多ASP.NET Web表单。在测试过程中,我关闭了customErrors,然后在将表单转换为生产时出现ResponseRedirect自定义错误。快速关闭和打开CustomErrors进行生产和开发

我想知道是否可以通过更改设置值来简化我的开发来完成此任务。

我想什么是刚刚从开发商改变我的Properties.Settings.Default.TestMode值生产和对customError这个回合。

所以,我在想我的Global.asax.cs代码可能看起来像:

protected void Application_Error(object sender, EventArgs e) { 
    if (Properties.Settings.Default.TestMode == "production") { 
    Server.ClearError(); 
    Response.Redirect("errorpage.htm"); 
    } 
    else { 
    // Not sure what it would do here. Nothing? 
    } 
} 

但后来我不知道什么会去我的Web.config文件。 CustomErrors如下所示。

<!--<customErrors mode="Off" />--> 
<customErrors mode="On" defaultRedirect="ErrorPage.htm" redirectMode="ResponseRedirect"/> 

现在我只是评论/我需要做出改变。我觉得我一直都在这样做,只要让我创建的TestMode设置完成所有工作就太好了。

+0

你有没有试过设置的customErrors模式仅限远程?正如我确信你知道的那样,它为远程连接(顾名思义)启用了自定义错误,但是如果你正在从本地服务器/机器进行测试,那么你将绕过自定义错误。 – CodeCanuck 2013-04-04 21:20:29

+0

我确实遇到过这个解决方案,但是我不喜欢它的原因是因为我需要在远程系统上测试许多功能才能工作,所以我几乎没有测试过本地计算机。 一个例子是发送电子邮件......我的机器在我们的网络上被阻止,而远程测试服务器不是。 – alexk 2013-04-05 19:39:21

回答