У меня есть следующий метод представления в контроллере ASP.NET MVC 3, который извлекает данные из Amazon SimpleDb, сохраняет их в списке, а затем сохраняет этот объект списка в сеансе. Но в строке, где я храню объект userBox в сеансе (Session ["userBox"] = userBox), я получаю исключение NullReferenceException. Я уверен, что userBox не является нулевым. Даже если я пытаюсь сохранить простую строку в сеансе (например, Session ["userBox"] = "test"), я все равно получаю исключение NullReferenceException.
Вот код:
public ActionResult SetSidebarAccountBoxSessions(string id)
{
string selectExpression = "select * from MySimpleDBDomain where itemName()='" + id + "'";
SelectRequest sreq = new SelectRequest().WithSelectExpression(selectExpression);
SelectResponse sres = sdb.Select(sreq);
List<User> userBox = new List<User>();
if (sres.IsSetSelectResult())
{
SelectResult selectresult = sres.SelectResult;
foreach (Item item in selectresult.Item)
{
string a = item.Name;
userBox.Add(new User
{
imageThug = item.Attribute[0].Value,
name = item.Attribute[3].Value,
bio = item.Attribute[1].Value
});
}
}
Session["userBox"] = userBox;
return View();
}
Я вызываю этот метод SetSideBarAccountBoxSessions (id) из другого метода контроллера:
HomeController hc = new HomeController();
hc.SetSidebarAccountBoxSessions(item.Name);
Может ли это быть проблемой? Пожалуйста, помогите.