何处以及如何为我的asp.net MVC 3 Web应用程序定义<customErrors mode =“on”>

我想设置custome错误是真实的,以防止用户查看有关我的应用程序的详细信息。 但是我找不到应该在哪里写<customErrors mode="on"> ; 应该在web.config或web,debug.config或其他地方?

BR

根据我的经验,我们应该在发布模式下将自定义错误设置为On,并在debugging中将其closures。 要自动执行此操作,我们可以使用web.config转换,如下例所示。

Web.Debug.config

此设置将允许Web服务器显示包含有用的错误信息的ASP.NET黄页。

 <customErrors mode="Off" xdt:Transform="Replace" /> 

Web.Release.config

另一方面,我们不希望用户知道技术错误。 我们应该使用自定义错误页面,而不是ASP.NET黄页。

 <customErrors mode="On" xdt:Transform="Replace" /> 

这将取决于,但通常应该在Web.config文件中。

Web.Debug.config和Web.Release.config(以及其他configuration变体)用于部署应用程序时。 执行发布操作时,在部署过程中将转换应用于Web.config文件,这意味着您可以将特定的configuration设置应用于debugging,发行版和您设置的其他configuration。

如果在开发过程中通常不执行发布操作,则需要将此设置应用于Web.config文件才能生效。

有关转换Web.config文件的更多详细信息,请参阅http://msdn.microsoft.com/en-us/library/dd465318.aspx

有关将customErrors元素添加到Web.config文件的示例,请参阅http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

放在Web.config中,并创build一个redirect的错误页面。 在MVC中,你有HandleErrorAttribute,在类上标记它来处理意外的错误,logging下来并抛出错误页面。 自定义错误是默认页面,具有已知状态码的特定错误。

 <system.web> <customErrors mode="On"> <error statusCode="404" redirect="/PageNotFound?" /> </customErrors> </system.web>