在ASP.NET中我们应该在发生未处理的异常时调用Session.Abandon()吗?

时间:2010-01-18 13:27:43

标签: asp.net exception-handling

在ASP.NET中,我们应该在发生未处理的异常时调用Session.Abandon()吗? 有许多最终用户在Web浏览器中点击“刷新”或“返回”以重新提交请求。我想通过重置上下文来防止这种行为。 TIA。

2 个答案:

答案 0 :(得分:1)

重新提交与放弃用户会话无关。用户是否应该遭受编码错误?确保你所有的数据库操作都是事务性的,并处理所有错误,这个问题就会消失。

此外,有更好的方法可以防止在再次按下后退或提交按钮时执行双重操作。例如:我们的业务规则禁止在同一对象的十分钟内为同一产品订购两次。

答案 1 :(得分:0)

这取决于你在会话中保留的内容。 在大多数情况下,仅仅因为代码中存在错误而将用户注销是不合适的。创建一个自定义错误页面,并在那里重定向,以便用户可以在错误页面上进行垃圾邮件刷新,只要他愿意。