我是asp.net开发的新手,目前正在开发asp.net Web应用程序。在解决问题时遇到了“线程被终止”的异常。我查阅了多篇文章以深入理解该异常。
我读了Shivprasad koirala撰写的这篇精彩文章(代码工程),其中解释了Server.Transfer
和Response.Redirect
的使用。
然后我去看了Thomas Marquardt发布的这篇文章,得出结论,最好使用Respose.Redirect(url,false)
。
Server.ClearError();
Response.Redirect(url, false);
Context.ApplicationInstance.CompleteRequest();
但是,Imrambaloch的这篇文章指出,使用
Response.Redirect(url, false)
存在安全问题,建议使用Response.Redirect(url, false);
var context = HttpContext.Current;
if (context != null)
{
context.ApplicationInstance.CompleteRequest();
}
最终我有些困惑,不知道哪种方式是推荐的重定向方式。
我的问题: 在消除安全问题和性能问题方面,什么是最好的重定向用户的方法?
Server.Transfer
与Response.Redirect
相比,真的那么糟糕吗?