使用jquery post方法调用asp.net mvc action方法会话会话

时间:2010-04-09 10:39:56

标签: jquery asp.net-mvc ajax action

我有一个网站,我提供了一个链接。在点击链接后,调用控制器操作方法在创建zip文件后生成一个zip文件,我会通过替换链接来显示下载zip文件的链接,以创建一个带有下载zip的链接的zip。

问题是,在创建zip文件并显示链接后,当用户点击链接下载zip文件时,会将其发送到登录状态。在登录页面中提供正确的凭据后,系统会提示他们下载zip文件。他们不能被发送到登录页面。在生成zip文件的操作中,我没有放弃会话或者没有做任何超出会话的事情。

成功创建zip文件后,用户不应该忘记登录页面用户应该可以在不登录的情况下下载文件。

我在这个问题上搜索互联网,但我找不到任何解决方案。在hanselman撰写的一篇博客中,我发现这个语句会产生会话问题:其他一些事情,如Ajax调用或IE的内容顾问同时点击默认页面或登录页面并导致调用Session.Abandon的竞争条件? (它发生在以前!)

所以我认为ajax调用可能会导致会话过期,但我不知道发生了什么?

任何帮助

感谢

3 个答案:

答案 0 :(得分:1)

我认为问题在于您创建Zip文件的文件夹的权限。

答案 1 :(得分:1)

伙计们,我找到了解决这个问题的方法。问题是这样的:我在应用程序文件夹和.net 2.0中创建了一个zip文件,规则是对应用程序文件和文件夹的任何更改都会导致会话过期。一旦我在应用程序文件夹中的目录以外的某个目录中创建了zip文件,一切正常。

反正 谢谢

答案 2 :(得分:0)

会话与访问资源无关。

如果显示提示登录,则意味着用户想要下载的资源由FormsAuthenication或WindowsAuthentication保护。

如果您不想这样,请检查web.config中的“授权”部分。