В программной отладке иногда мне нужно знать, сколько используется переменные сеанса и какова их ценность? Поскольку объект сеанса предоставляет коллекцию, называемую содержимым, мы можем достичь цели через ... каждый цикл: Dim Strname, Iloop, Iloop
Для каждого названия strNAME в сеансе.
Response.write strname & " -" & session.contents (strname) & "<br>"
В общем, приведенный выше код может работать хорошо. Но когда переменная сеанса является объектом или массивом, результаты печати неверны. Таким образом, мы изменяем код следующим образом: «Сначала посмотрите на то, сколько переменных сеанса используют? Response.write« есть »& session.contents.count & _
"Переменные сеанса <p>" "
Dim Strname, Iloop
'Используйте для каждого для проверки сеанса.contents
«Если переменная сеанса является массивом?
Если isarray (session (strname), то тогда
'Каждый элемент круговой массивы печати
Для iLoop = lbound (сеанс (strname)) до Ubound (Session (strName))
Response.write strname & "(" & iloop & ") -" & _
Session (strname) (iloop) и "<br>"
Следующий
Еще
'В других случаях просто распечатайте значение переменной просто
Response.write strname & " -" & session.contents (strname) & "<br>"
Конец, если
Переменные следующего сеанса Иногда не могут работать, почему? Есть много возможностей:
Во -первых, если клиент не разрешает работать файлы cookie, сеанс потерпит неудачу. Потому что сеанс зависит от файлов cookie.
Во -вторых, сессия имеет настройку времени неудачи. Настройки по умолчанию составляют 20 минут. Вы можете изменить его так: Web Diretory-> Properties-> Virtual Directory-> Настройки приложения-> configuration-> apports-> session timeoutoutout
Или в ASP напишите такой код: session.timeout = 60.
В -третьих, сеанс связан с конкретным веб -приложением. Если пользователь просматривает из /продуц /default.asp до /jobs/default.asp, это также может вызвать повторное сеанс. Как очистить переменную сеанса, которая больше не нужна, но не делает сеанс неудачным? В ASP3.0:
Session.contents.remove "Имя переменной"
Вы можете удалить переменную.
В ASP2.0:
SET SESSION ("Имя переменной") = NULL
Может очистить переменные.
В ASP3.0,
Session.contents.removeal
Вы можете очистить все переменные сеанса и сеанс. Abandon. Что означает < %@ enabsessestate = true %> в верхней части страницы ASP? IIS использует технологию, называемую отслеживанием сеансов, чтобы убедиться, что каждая переменная сеанса доступна на каждой странице. Когда пользователь посещает определенную страницу ASP, IIS сначала подготовит каждую переменную сеанса для этой страницы, которая, конечно, будет иметь эффекты производительности. (Стоимость использования переменной сеанса всегда очень высока!)
Если у вас есть 100 страниц и только 5 страниц используются для сеанса, то для общей производительности вам нужно только установить его на этих 5 страницах:
< %@ EnabsessionState = true %>
И другие страницы установлены на:
< %@ EnabsessionState = false %>