Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему не срабатывает Session_End в global.asax ? / 4 сообщений из 4, страница 1 из 1
02.09.2003, 09:50
    #32253304
superbluesman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не срабатывает Session_End в global.asax ?
Заделал я, значится, в global.asax простейший счётчик посещений,
но Sub Session_End нивкакую не хочет срабатывать, когда жму в окошке IE x в правом верхнем углу (: Уже всяко проверял:


Imports System.Web
Imports System.Web.SessionState
Imports System.IO

............

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application("ActiveUsers") = 0
End Sub



Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Dim iTotalUsers As Int64, readStr As String, cFileName As String
cFileName = "counters.txt"
iTotalUsers = 0
Try
If File.Exists(Server.MapPath(cFileName)) Then
Dim objReader As New StreamReader(Server.MapPath(cFileName))
With objReader
'While .Peek() > -1
readStr = .ReadLine()
readStr = .ReadLine()
.Close()
iTotalUsers = CInt(readStr.Trim)
End With
End If
Catch runexception As Exception
Finally
End Try

iTotalUsers = iTotalUsers + 1

Try
Dim objWriter As New StreamWriter(Server.MapPath(cFileName), False)
With objWriter
.WriteLine("TOTAL SESSIONS:")
.WriteLine(iTotalUsers.ToString)
.Close()
End With
Catch runexception As Exception
Finally
End Try

Application.Lock()
Application("ActiveUsers") = IIf(Application("ActiveUsers") > iTotalUsers, iTotalUsers, Application("ActiveUsers") + 1)
Application("TotalUsers") = iTotalUsers
Application.UnLock()
End Sub



Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock()
End Sub
...
Рейтинг: 0 / 0
03.09.2003, 17:26
    #32255066
Orion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не срабатывает Session_End в global.asax ?
Когда ты таким образом закрываешь окно, сервер об этом не уведомляется, а следовательно сессия закроется сервером через установленный промежуток времени, который хранится в Session.Timeout

Закрывай сессию сам методом Session.Abandon() где тебе удобно.
...
Рейтинг: 0 / 0
03.09.2003, 17:39
    #32255087
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не срабатывает Session_End в global.asax ?
А почему счетчик посещений на End ??????
Обычно делают на New - а то как-то необыыыыыыыыычно...
...
Рейтинг: 0 / 0
04.09.2003, 09:14
    #32255405
superbluesman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не срабатывает Session_End в global.asax ?
to Tygra:

в Session_End я делаю Application("ActiveUsers") = Application("ActiveUsers") - 1

в надежде показать, что активных пользователей уменьшилось на 1
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему не срабатывает Session_End в global.asax ? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]