当我使用Response.Redirect(...)将表单重定向到新页面时,我收到错误:
mscorlib.dll中出现"System.Threading.ThreadAbortException"类型的第一次机会异常mscorlib.dll中
出现"System.Threading.ThreadAbortException"类型的异常,但未在用户代码中处理
我对此的理解是,错误是由Web服务器中止调用response.redirect的页面的其余部分引起的.
我知道我可以添加第二个参数Response.Redirect,称为endResponse.如果我将endResponse设置为True,我仍然会收到错误,但如果我将其设置为False,那么我不会.我很确定,这意味着网络服务器正在运行我重定向的页面的其余部分.至少可以说这似乎效率低下.有一个更好的方法吗?除了Response.Redirect或有没有办法迫使旧页面停止加载我不会得到的东西ThreadAbortException?
我的客户端在两个生产服务器上安装了一个ASP.NET应用程序(与NLB平衡,但这无关紧要).两个服务器每隔3-4小时就会崩溃,并显示以下事件查看器错误:
错误的应用程序名:w3wp.exe,版本:7.5.7601.17514,时间戳:0x4ce7afa2
错误模块名称:clr.dll,版本:4.0.30319.18034,时间戳:0x50b5a783
异常代码:0xc00000fd故障偏移:0x000000000001a840
出错进程ID:0xd50
断裂作用应用程序启动时间:0x01ce97fe076d27b4
错误应用程序路径:C:\ WINDOWS\SYSTEM32\INETSRV\w3wp.exe的
错误模块路径:C:\ WINDOWS\Microsoft.NET\Framework64\v4.0.30319\clr.dll报告编号:e0c90a5f-0455- 11e3-8f0e-005056891553
我不知道如何调试或从哪里开始.当崩溃即将发生时,服务器处理器的使用率会跃升至100%并保持不变.故障的过程是w3wp.exe.我甚至不确定我的代码是否产生了错误.这是IIS 7.5.任何指针都将非常感激.
在下面的代码中,someFunctionCall()有时会生成"Thread is aborted"异常.为什么代码块B中的代码永远不会运行?ASP.NET是否为每个方法调用启动一个新线程?我很惊讶地看到,当发生此异常时,块b中的代码永远不会运行,该方法返回,并且我的应用程序继续运行.有人可以解释一下吗?
谢谢.
public void method()
{
// CODE BLOCK A
//...
try
{
someFunctionCall(); // this call is generating thread abort exception
}
catch(Exception ex)
{
// log exception message
}
// CODE BLOCK B
// ...
}
Run Code Online (Sandbox Code Playgroud) 我正在Visual Studio 2013中开发一个Web表单应用程序,并希望将URL设置为小写.
例如:
至
我找到的所有解决方案都是通过IIS重写规则,但我想在项目本身中解决它.