Asp.net mvc 3 在何处以及如何定义<;自定义错误模式=”;在”&燃气轮机;对于我的asp.net MVC 3 web应用程序

Asp.net mvc 3 在何处以及如何定义<;自定义错误模式=”;在”&燃气轮机;对于我的asp.net MVC 3 web应用程序,asp.net-mvc-3,web-config,custom-errors,Asp.net Mvc 3,Web Config,Custom Errors,我想将custome错误设置为true,以防止用户查看有关我的应用程序的详细信息。但是我找不到我应该在哪里写这个;它应该在web.config中,还是在web、debug.config或其他地方 BR这取决于具体情况,但通常应位于Web.config文件中 Web.Debug.config和Web.Release.config(以及其他配置变体)用于部署应用程序。执行发布操作时,转换将在部署期间应用于Web.config文件,这意味着您可以为调试、发布和其他已设置的配置应用特定的配置设置 如果在

我想将custome错误设置为true,以防止用户查看有关我的应用程序的详细信息。但是我找不到我应该在哪里写这个
;它应该在web.config中,还是在web、debug.config或其他地方


BR

这取决于具体情况,但通常应位于Web.config文件中

Web.Debug.config和Web.Release.config(以及其他配置变体)用于部署应用程序。执行发布操作时,转换将在部署期间应用于Web.config文件,这意味着您可以为调试、发布和其他已设置的配置应用特定的配置设置

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

有关转换Web.config文件的更多详细信息,请参阅


有关将customErrors元素添加到Web.config文件的示例,请参见。

根据我的经验,我们应该在发布模式中将CustomError打开,并在调试模式中将其关闭。要自动执行此操作,我们可以使用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并为重定向创建一个错误页面。 在MVC中,您拥有HandleErrorAttribute,将其标记在类上以处理意外错误,记录它并抛出错误页面。自定义错误是具有已知状态代码的特定错误的默认页面

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


Scott Hanselman在第9频道有一段关于部署以及如何有效使用web.config的调试和发布版本的精彩视频。在关闭标记之前,我在web.config中定义如下:-但如果发生错误,则将显示完整的错误消息(非自定义错误)。。。!!!将元素放置在标记下。您还需要指定defaultRedirect,可以是控制器操作,也可以是静态html文件。或者,许多人关闭了自定义错误,然后在应用程序错误处理程序中处理路由。详情请参阅。感谢您的回复;我在中插入了。但是仍然会显示一个详细的错误。是否已将defaultRedirect属性设置为指向操作或静态html文件?有关详细信息,请参见我在评论中的链接。为什么不
RemoteOnly
?这样,您就不必使用XML转换,开发人员在web服务器上查看站点时可以看到错误?(并不是说你的观点没有价值……)也许应该指出,