【发布时间】:2010-04-09 10:39:55
【问题描述】:
我有一个网站,我提供了一个链接。单击该链接后,将调用控制器操作方法以在创建 zip 文件后生成一个 zip 文件,我通过将创建 zip 的链接替换为下载 zip 的链接来显示下载 zip 文件的链接。
问题是在 zip 文件创建结束并显示链接后,当用户单击链接下载 zip 文件时,他们会被发送到登录。在登录页面中提供正确的凭据后,系统会提示他们下载 zip 文件。他们不应该被发送到登录页面。在生成 zip 文件的操作中,我没有放弃会话或没有做任何放弃会话的事情。
在成功创建 zip 文件后,用户不应该被发送到登录页面,用户应该能够在没有登录的情况下下载文件。
我在网上搜索了这个问题,但我没有找到任何解决方案。在 hanselman 写的一篇博客中,我发现这个语句会导致会话出现问题:Ajax 调用或 IE 的 Content Advisor 之类的其他事情是否同时击中默认页面或登录页面并导致调用 Session.Abandon 的竞争条件? (以前发生过!)
所以我认为 ajax 调用可能存在导致会话过期的问题,但我不知道发生了什么?
任何帮助
请
谢谢
【问题讨论】:
-
先尝试缩小问题范围。
-
用户点击链接创建zip文件后是这样的,zip文件创建成功但会话过期。这不是我想要的。为什么在对控制器操作进行 jquery post 调用以创建 zip 文件后,会话必须过期?我希望你明白这个问题。
标签: jquery asp.net-mvc ajax action