Я использую ASP.Net + .Net 3.5 + VSTS 2008 + IIS 7.0 + C # для разработки веб-приложения. Я создаю очень простое веб-приложение, и я только что изменил page_load, Session_Start и Session_End. Вот мой код, мой вопрос: я обнаружил, что сообщение об окончании сеанса записывается в файл сразу после сообщения о начале сеанса. Мой метод тестирования - просто открыть IE для доступа к этой странице. Я думаю, что сессия должна длиться долго, как несколько минут. Почему сессия заканчивается так быстро? Почему свечение заканчивается, даже если я не закрываю страницу?
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello World! ");
Session["SomeUserData"] = DateTime.Now;
}
protected void Session_Start(object sender, EventArgs e)
{
using (TextWriter tw = new StreamWriter(@"C:\TestSession\bin\session.txt", true))
{
// write a line of text to the file
tw.WriteLine(DateTime.Now + " Session Started.");
}
}
protected void Session_End(object sender, EventArgs e)
{
using (TextWriter tw = new StreamWriter(@"C:\TestSession\bin\session.txt", true))
{
// write a line of text to the file
tw.WriteLine(DateTime.Now + " Session Ended.");
}
}
Я встречался с той же проблемой, даже если добавить код манипуляции сессией в метод Page_Load, здесь выводится содержимое файла, которое, как вы можете видеть, вызывает событие окончания сеанса, вызываемое сразу после начала сеанса.
2010/7/15 0:11:14 Session Started.
2010/7/15 0:11:14 Session Ended.
2010/7/15 0:11:28 Session Started.
2010/7/15 0:11:28 Session Ended.
спасибо заранее,
George