我建立一个ASP MVC应用程序。
当我请求路由到控制器,例如:
http://myserver/sales/id/5
会话对象HttpContext.Current.Session
是可以正常使用。
然而,当我请求一个图片或脚本,例如:
http://myserver/Scripts/jquery-1.4.1.js
会话对象HttpContext.Current.Session
是null
如何在没有“真正的”会话(例如第一次登录),我可以区别于其他这种情况呢?
为什么你需要检索一个静态文件的会话?
除非您使用的是动态处理,也绝对不需要会话检索此类内容。
我的观点是,会议不用于检索静态内容有任何用处,所以无法使用。
@Oded是正确的,这是在asp.net的优化。 如果您需要会话可用,那么你就需要去那个已经表示它需要的会话处理程序的要求。 如果你正在写自己的处理程序,那么它只是需要实现标记接口IRequiresSessionState 。
这种优化不仅是当前请求,但你正在使用同一会话的多个请求任何并行请求以串行方式进行处理。 阅读我的博客文章以获取更多的信息。
文章来源: HttpContext.Current.Session is null requesting images. Why?