У меня есть веб-приложение ASP.NET, которое принимает пользовательский ввод в нескольких формах. Вроде как волшебник. В первой форме пользователь вводит информацию, затем нажимает кнопку «Далее». В событии Click кнопки я сохраняю некоторую информацию в объекте Session (через Свойства на главной странице). Затем я перенаправляю на следующую страницу.
Вот пример того, что я делаю:
На первой странице ...
protected void NextButton_Click(Object sender, EventArgs args)
{
//Go to the next form
Master.SessionVal1 = Value1;
Master.SessionVal2 = Value2;
Response.Redirect("~/TheNextPage.aspx", false);
}
В MasterPage.cs ..
public long Value1
{
get { return (long)Session["Value1"]; }
set { Session["Value1"] = value; }
}
public long Value2
{
get { return (long)Session["Value2"]; }
set { Session["Value2"] = value; }
}
Довольно простые вещи. Когда я запускаю это в режиме отладки в VS2008, он работает отлично. Когда я отправляю это на тестовый сервер (IIS7), я получаю исключения NullReference при попытке доступа к Value1, Value2 и т. Д., Которые хранятся в объекте Session.
UPDATE:
Я обнаружил, что если я перенесу код на один сервер, я получу проблему, как описано выше. НО, если я продвигаюсь на другой сервер, он работает как положено.
Оба сервера являются Windows Server 2008 с IIS7. Я просмотрел настройки пула приложений и настройки управления состоянием и не вижу различий.