在ASP.NET中,我们应该在发生未处理的异常时调用Session.Abandon()吗? 有许多最终用户在Web浏览器中点击“刷新”或“返回”以重新提交请求。我想通过重置上下文来防止这种行为。 TIA。
答案 0 :(得分:1)
否强>
重新提交与放弃用户会话无关。用户是否应该遭受编码错误?确保你所有的数据库操作都是事务性的,并处理所有错误,这个问题就会消失。
此外,有更好的方法可以防止在再次按下后退或提交按钮时执行双重操作。例如:我们的业务规则禁止在同一对象的十分钟内为同一产品订购两次。
答案 1 :(得分:0)
这取决于你在会话中保留的内容。 在大多数情况下,仅仅因为代码中存在错误而将用户注销是不合适的。创建一个自定义错误页面,并在那里重定向,以便用户可以在错误页面上进行垃圾邮件刷新,只要他愿意。