【发布时间】:2010-02-13 20:00:04
【问题描述】:
这是一个奇怪的问题,因为昨天我在 Cassini (VS2008) 中执行我的代码,并且在控制器的操作方法中,Session 对象是有效的并持有会话数据。今天重启VS2008,打开项目,Session对象为null。
在 ASP.NET MVC 应用程序的控制器代码中,Session 对象可能为空的原因是什么?
【问题讨论】:
标签: asp.net-mvc
这是一个奇怪的问题,因为昨天我在 Cassini (VS2008) 中执行我的代码,并且在控制器的操作方法中,Session 对象是有效的并持有会话数据。今天重启VS2008,打开项目,Session对象为null。
在 ASP.NET MVC 应用程序的控制器代码中,Session 对象可能为空的原因是什么?
【问题讨论】:
标签: asp.net-mvc
我发现了问题。
我使用 LINQ 从业务层检索 IEnumerable,然后在视图中对其进行迭代。问题是 LINQ 是延迟加载的,并且没有尝试加载列表的内容(存储在 Session 对象中),直到它尝试在视图中对其进行迭代。我通过使用 .ToList() 扩展方法在 Controller 中强制加载来解决这个问题。
【讨论】: