gpt4 book ai didi

asp.net - IIS7环境下Application_Start异常处理

转载 作者:行者123 更新时间:2023-12-01 08:08:10 25 4
gpt4 key购买 nike

我正在构建 ASP.NET MVC3 应用程序,除了标准的 MVC 异常处理机制之外,我还想在 Application_Start 中出现问题并且在那里抛出未处理的异常时显示静态 html 错误页面。

我刚刚添加了

    <customErrors mode="On" defaultRedirect="Error.htm">

并在所有“错误”情况下预期重定向到 Error.htm。它可以与 Visual Studio Development Server 一起正常工作,但不能与 IIS7 一起工作(我看到标准的黄色屏幕显示“要启用此特定错误消息的详细信息以在...上查看”)。似乎当 Application_Start 中抛出异常时,ASP.NET 重定向到 Error.htm,此时 IIS 再次调用 Application_Start 方法,再次抛出相同的异常 aaa 并欢迎进入无限循环。

解决此问题的选项有哪些?可以在不更改 IIS 设置的情况下完成吗?如果没有,应该如何在 IIS 端正确完成?

最佳答案

迟到总比不到好。这是处理错误的标准方法:

测试项目\Views\Shared\Error.cshtml

@model System.Web.Mvc.HandleErrorInfo
@{
ViewBag.Title = "Error";
}
<p>an error occurred</p><br />
<p>Try again.Go on this <a href="javascript:history.go(-1)">link</a></p>

测试项目\Controllers\TestController.cs

namespace testproject.Controllers
{
[HandleError]
public class TestController : Controller
{}
}

测试项目\Web.config

<system.web>
<customErrors mode="On" defaultRedirect="~/Views/Shared/Error.cshtml" />
</system.web>

关于asp.net - IIS7环境下Application_Start异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com