Dan*_*n P 16 asp.net asp.net-mvc redirect tempdata
当使用TempData时,我的理解是它会保留你所放置的任何内容,只需要一个请求.因此,当使用TempData在重定向中保留数据时(为了使用Post-Request-Get模式),用户的某些其他请求是否可能在发送重定向的响应和用户的浏览器请求重定向页面?在这种情况下,get将不再具有TempData可用,对吗?
现在,我明白发生这样的事情是非常罕见的,但考虑到用户可能在另一个选项卡中打开了另一个页面,并且可能在该页面上发生了ajax或定时回调请求,它突然没有对我来说似乎不可能.它通常被认为是太遥远而无法担心,还是我误解了什么?
编辑:更具体地说明我所询问的场景.
好吧,浏览ASP.NET MVC代码显示while TempData存储在会话中,它在加载时从会话中删除.它会在Controller的ExecuteCore()方法中加载.
所以我认为这意味着是的,你完全可能遇到竞争条件,来自不同浏览器标签的请求(你有一个很好的例子)可能会导致这个问题.但这取决于每个浏览器处理请求的模型.浏览器可能会将对同一服务器的所有请求序列化,以便一次只执行一次.实际上,他们不会这样做,但是,他们会将其限制在最大值,这是(我认为)对同一服务器的5个并发请求.
鉴于ASP.NET MVC站点可能是对任何浏览器的服务请求(它是网络,毕竟:))这是一个真实的场景,尽管可能是一个罕见的,如你所说.
| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |