2011-05-12 133 views
1

我正在构建一个ASP MVC应用程序。HttpContext.Current.Session为空请求图像。为什么?

当我请求到控制器的途径,例如:

http://myserver/sales/id/5 

会话对象HttpContext.Current.Session被正常使用。

然而,当我请求一个图片或脚本,例如:

http://myserver/Scripts/jquery-1.4.1.js 

会话对象HttpContext.Current.Sessionnull

如何时,有没有“我可以区别于其他这种情况真正的“会话(例如第一次登录)?

回答

4

为什么你需要一个会话来检索静态文件?

除非您使用动态处理程序,否则绝对不需要会话来检索此类内容。

我的观点是,会话不会为检索静态内容提供任何有用的用途,因此它不可用。

2

@Oded是正确的,这是在asp.net中的优化。如果您需要会话可用,那么您将需要请求转至已指示需要会话的处理程序。如果你正在编写你自己的处理程序,那么它只需要实现标记接口​​。

此优化不仅适用于当前请求,而且您以串行方式处理任何使用同一会话进行的多个请求的并行请求。请阅读我的blog post了解更多信息。

+1

我在您的博客文章中获得404。 – Dror 2013-03-11 23:30:46

+0

谢谢你让我知道。我已更新链接到我的博客的新位置。 – 2013-03-12 13:48:53

相关问题