Многие люди используют переменные сеанса для разработки ASP (активных серверных страниц). Эти переменные очень похожи на переменные общего назначения в любом языке программирования и имеют те же преимущества и недостатки, что и переменные общего назначения. Любая команда требует времени выполнения и места для хранения (даже операторов GOTO), а переменные сеанса также требуют своего собственного времени выполнения и места для хранения. Чрезмерное использование переменных сеанса приведет к избыточности кода и увеличению эксплуатационных расходов сервера. Вот некоторые из моих основных взглядов и опыта по использованию переменных сеанса.
преимущество
Если вы хотите передать переменную между многими веб-страницами, использование переменных сеанса может упростить проблему, а не передавать переменную через QueryString.
Чтобы настроить свой веб-сайт, рассмотрите возможность использования переменных сеанса. Каждый посетитель вашего сайта имеет возможность настройки. Благодаря этому при использовании LDAP и, например, MS Site Server, больше нет необходимости помещать весь процесс настройки в переменные сеанса, и эта настройка зависит от предпочтений пользователя. .
Вы можете использовать переменную сеанса напрямую, когда захотите, не объявляя ее заранее. Этот метод близок к использованию переменных в VB. Как только вы закончите его использовать, вам не придется думать об его выпуске, поскольку он будет выпущен автоматически.
недостаток
Переменные сеанса и файлы cookie относятся к одному типу. Если пользователь устанавливает браузер несовместимым с какими-либо файлами cookie, он не может использовать эту переменную сеанса!
Когда пользователь посещает страницу, автоматически генерируется рабочая среда каждой переменной сеанса. Эти переменные сеанса могут оставаться в течение 20 минут после того, как пользователь покидает страницу! (Фактически, эти переменные сохраняются до истечения времени ожидания. Продолжительность времени ожидания задается администратором веб-сервера. На некоторых сайтах переменные сохраняются всего 3 минуты, некоторые — 10 минут, а для третьих — значение по умолчанию 20 минут.) Итак, если вы разместите в сеансе более крупные объекты (такие как наборы записей ADO, соединения и т. д.), у вас возникнут проблемы! По мере увеличения количества посещений сайта сервер не сможет работать корректно!
Поскольку создание переменных сеанса является очень произвольным и может быть вызвано в любое время, не требуя от разработчиков точной обработки, чрезмерное использование переменных сеанса приведет к нечитаемому и сложному в обслуживании коду.
Хотя вы можете использовать переменную сеанса напрямую, когда захотите, не объявляя ее заранее, этот метод близок к использованию переменных в VB. Как только вы закончите его использовать, вам не придется думать об его выпуске, поскольку он будет выпущен автоматически. Но кто бы мог подумать? Что означают переменные? Ничего из этого не становится ясным.
Подвести итог
Использование переменных сеанса имеет как преимущества, так и недостатки. По моему личному мнению, лучше использовать их экономно, но их использование в некоторых местах действительно может упростить веб-разработку. Использовать ли переменные сеанса полностью зависит от личных потребностей. Независимо от того, использовать их или нет, вы должны заранее рассмотреть их преимущества и недостатки.