我很难在Global.asax文件中执行On_Error事件.当应用程序出错时,应该转到Global.asax文件,在数据库中记录错误并重定向到自定义错误页面.上面的代码在我的本地工作正常,但是一旦我在DEV机器中部署相同的Global.asax没有被执行.
它总是重定向到我在web.config中提到的客户错误页面
<customErrors mode="On" defaultRedirect="/Error_Redirect.asp">
<error statusCode="404" redirect="/404.asp"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)
IIS中的项目结构类似于Test1\Test 2.我正在尝试的错误处理代码是在测试2中,它是IIS中的虚拟文件.如果我在web.config文件中有任何错误,比如"已经提到过的部分",那么错误就是命中Global.asax文件.如果有任何运行时错误,如下所示,它不会来到Global.asax文件.
Int32 i, j, k;
i = 10;
j = 0;
k = i / j;
Response.Write(k);
Run Code Online (Sandbox Code Playgroud)
.我甚至厌倦了将模式设置为Off/RemoteOnly.有什么建议??
谢谢,
您的应用程序是否有可能被加载到多个 ASP.NET 进程或域中?当您使用“Test1/Test2”时,您是否认为有时您调用的 URL 会通过“Test1/Test2”,有时会通过“Test2”?
最近,我在 ASP.NET 中开发 POC,并错误地将 Global.asax 移至子文件夹而不是应用程序的根目录中。我期望应用程序的启动事件中的一些代码能够触发 - 但它从未被触发。将其移回应用程序的根目录后,它开始按预期工作。
因此,当您通过“Test2”调用时,Global.asax 的异常处理程序会触发,而当您通过“Test1/Test2”调用时,Global.asax 不会触发。
| 归档时间: |
|
| 查看次数: |
2201 次 |
| 最近记录: |