上传到我自己的网站时无法打开页面

时间:2013-08-27 14:01:58

标签: asp.net-mvc

当第一页上传文件时,我无法从我自己的ASP.NET MVC网站打开第二页。第一页似乎阻止了第二页,我必须等到完成上传或清除网站cookie才能打开另一页。

请问这个问题?

由于

1 个答案:

答案 0 :(得分:2)

问题是因为ASP.NET会话设计不佳,当你使用具有会话启用功能的MVC Action后面的代码,并调用发送大量数据的动作时,例如上传时,会话将被锁定ASP.NET

当会话被锁定时,当您请求其中包含会话的另一个MVC操作时,请求将排队,并且在锁定会话的上一个MVC操作释放它之前将不会处理该请求。这是我最近发现的ASP.NET上一个很大的设计错误

这就是许多大型网站使用SessionStateAttribute

禁用默认ASP.NET会话的原因
[SessionState(SessionStateBehaviour.Disabled)]

这也是Microsoft的错误,因为CLass不接受属性,因此您必须按照此URL Apply session state behavior per action

中的说明进行解决。

看到这一点我真的担心ASP.NET技术是我为我的网站选择的正确技术,由于微软所做的所有这些限制,我在这项技术上的努力和学习时间都会被抨击。

此外,实现ajax或其他异步事件(如Threading)将无法解决问题,因为当从具有会话启用的Action调用线程时,另一个也启用了会话的操作也将排队。 / p>