2010-04-09 98 views
1

我有一个网站,我试用了一个链接。在点击链接时,调用控制器操作方法在创建完zip文件后生成一个zip文件,我通过替换链接来创建一个zip链接来显示下载zip文件的链接,下载zip链接。使用jquery post方法调用asp.net mvc操作方法到期会话

问题是,在zip文件创建结束并显示链接后,当用户单击链接下载zip文件时,它们将被发送到登录页面。在登录页面提供正确的凭据后,系统会提示他们下载zip文件。他们不能被发送到登录页面。在生成zip文件的操作中,我并没有放弃会话,也没有做过任何会影响会话的事情。

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

我在这个问题上搜索互联网,但我没有找到任何解决方案。在hanselman写的博客之一中,我发现这个语句会引发会话问题:是否有其他的事情像Ajax调用或IE的Content Advisor同时触发默认页面或登录页面并导致调用Session.Abandon的竞争条件? (它发生之前!)

所以我认为可能会导致会话过期的Ajax调用的一些问题,但我不知道发生了什么?

任何帮助

感谢

+0

试着先缩小问题范围。 – 2010-04-09 11:36:25

+0

这是这样的,用户点击链接创建zip文件后,zip文件创建成功,但会话过期。这不是我想要的。 为什么在对控制器操作进行jquery post调用以创建zip文件之后,会话必须过期? 我希望你明白这个问题。 – nccsbim071 2010-04-09 14:21:32

回答

1

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

反正 谢谢

1

我认为问题是,你所创建的Zip文件的文件夹的权限。

0

会话与访问资源无关。

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

如果你不想要这个,请检查web.config中的授权部分。

+0

即使不点击链接下载并点击网页上的其他链接,我也会获得登录信息。 – nccsbim071 2010-04-09 14:33:49

+0

这是否发生在您的本地开发Web服务器,本地iis或生产Web服务器上? – 2010-04-09 14:43:35

+0

它在调试Visual Studio和生产服务器时都会发生。我已经主持了该网站,是的,它甚至发生在那里。 – nccsbim071 2010-04-09 14:49:41

相关问题