我创建了一个 SessionManager 类,以便在 asp.net 应用程序中处理我的会话变量。以下是我的一段 SessionManager 类代码:
public int TotalTests
{
get
{
return (int)HttpContext.Current.Session["totalTests"];
}
set
{
HttpContext.Current.Session["totalTests"] = value;
}
}
public List<TestCase> TestCases
{
get
{
return (List<TestCase>)HttpContext.Current.Session["testCases"];
}
set
{
HttpContext.Current.Session["testCases"] = value;
}
}
问题是我能够从我的网络应用程序中的代码隐藏和其他类设置和访问 TotalTests 的值。但是,关于 TestsCases,我可以从代码隐藏中分配 List 类型的集合,并且调试应用程序显示 Session 变量实际上正在被填充,但是当我尝试从存储在 session 中的集合中检索项目时使用 LINQ 我得到一个对象引用未设置为对象错误的实例。我正在使用的代码如下:
TestCase test = (from testCase in session.TestCases
where testCase.testName == result.Name
select testCase).Single();
并在我使用的会话中填充集合
SessionManager 会话 = 新的 SessionManager(); session.TestCases = 测试用例;
任何想法请可能导致这种情况?