如何设置Web.在MVC 5的调试模式下配置

本文关键字:调试 模式 配置 MVC 何设置 设置 Web | 更新日期: 2023-09-27 18:11:57

我正在开发一个c# MVC 5项目。

在开发时,我更喜欢关闭异常处理,例如在Global.asax.cs:

#if !DEBUG
    protected void Application_Error(object sender, EventArgs e)
    {
        Exception exception = Server.GetLastError();
        // save exception inf to DB
        Server.ClearError();
        Response.Redirect("/Home/Error");
    }
#endif

在我的网页。我有两个选项:

<system.web>   
   <!--<customErrors mode="Off"></customErrors> -->
   <!-- or -->
   <customErrors mode="On">
     <error statusCode="404" redirect="~/Home/NotFound"/>
   </customErrors>
</system.web>

问题是我必须手动编辑它,如果它在程序在调试/发布模式下运行时自动更改就好了。

我有一种方法可以在我的程序中更改代码?我想要这样的:

MyFunction()
{
#if DEBUG
  SetCustomError("mode", "Off");
#else
 // Keep web.config content
#endif
}

在MVC结构中我可以做到这一点吗?

如何设置Web.在MVC 5的调试模式下配置

已经指出在ASP中以编程方式更改Web配置中的自定义错误模式。. NET MVC 3回答了如何在web中更改设置的问题。

有些人认为改变代码中的设置是一种代码气味。我同意,但关键是只有当代码在调试模式下运行时才应该这样做。