我正在尝试在ASP.NET中首次实现Redirect After Post。假设我的业务对象可能需要几秒钟到一分钟才能完成,我会以什么顺序使用什么语法?
例如:
用户POST
服务器发出Server.Transfer或Response.Redirect
处理此类情况的最佳方法是什么?
答案 0 :(得分:2)
在这种情况下,最好只坚持Response.Redirect()
,以便为用户的客户端发出重定向,而不是Server.Transfer()
执行纯服务器端重定向到不同的上下文。
关于要求用户等待的过程,您可能希望使用某种异步实现,其中将耗时的操作放在后台线程中;同时,用户不是在空白加载屏幕上等待,而是将Response.Redirect()
给予“处理”页面,该页面轮询服务器以完成当前操作并更新用户。为了更好的润色,考虑实施像Facebook的图像上传器,它覆盖屏幕一角的进度条,同时用户继续正常使用网站。
答案 1 :(得分:1)
从我能看到你需要做的事情:
然而,这里明显的缺点是用户在服务器做一些工作时一直在等待(两分钟是很长的延迟时间,他们可能会认为出现了问题),并且可能你可能会遇到HTTP请求在浏览器上超时。
就代码而言,它非常简单:
<FORM METHOD="POST">
代码Response.Redirect("mypage.aspx")
以执行GET 这有帮助吗?