我的代码中存在重定向问题。网上提出的解决方案都没有对我有用。基本上我的代码就是这个(不是实际代码,只是描述):
protected void btnCool_Click(object sender, EventArgs e)
{
GetDataFromInterface();
GetDataSpecificDataFromDB();
SaveDataOnSession();
Response.Redirect("SomePage.aspx", false);
Context.ApplicationInstance.CompleteRequest();
}
一切都很好地执行,但是在方法执行之后我才被扔到登录页面。在VS的输出窗口中,我看到:“类型'System.Threading.ThreadAbortException'的异常在mscorlib.dll中发生,但未在用户代码中处理。”
以下是一些额外信息:
修改以便澄清。无论如何都会抛出异常。重定向到所需的页面不起作用(这意味着我的应用程序中有一个死的部分。我无法达到它。)。相反,我会被从应用程序中抛出。
拜托,请帮我解决这个问题。我真的没有任何我可以遵循的线索所以任何建议可能会有所帮助。
答案 0 :(得分:1)
答案 1 :(得分:1)
是的,默认情况下是这样。 这种情况的最佳做法如下所述
protected void btnCool_Click(object sender, EventArgs e)
{
try{
GetDataFromInterface();
GetDataSpecificDataFromDB();
SaveDataOnSession();
Response.Redirect("SomePage.aspx", false);
Context.ApplicationInstance.CompleteRequest();
}
catch(ThreadAbortException Thrdex)
{}
catch(Exception ex)
{
//Handle exception
}
}
答案 2 :(得分:1)
确定。我发现了这个问题。这是PICNIC的经典案例。 该页面未实现允许访问特定类型用户的界面。 好吧,至少我学到了很多关于重定向和异常的知识。
非常感谢您的兴趣和答案!