2008-12-12 5 views

ответ

6

Ответ на ваш первый вопрос: Да - если сеансы используются, и оба.

Куки-это короткий текст, передаваемый между клиентом и сервером с каждым запросом/ответом.

IIS генерирует идентификатор сеанса, сохраняет его и любые связанные данные и передает его в файл cookie клиенту (браузеру).

Когда клиент делает другой запрос, он отправляет файл cookie с идентификатором sessionID обратно на сервер. Затем сервер может просмотреть файл cookie и найти сеанс (и связанные данные), который сохраняется на сервере.

+0

Есть ли ссылка где-то в Интернете, которая может дать мне больше информации? Я хочу понять, как cookie передается между клиентом и сервером. – MOZILLA 2008-12-12 20:14:33

2

В ASP.net существует несколько мест для сохранения сеанса, но он всегда находится в инфраструктуре сервера.

Значение по умолчанию - память процесса IIS. Это означает: если вы сбросите IIS (или весь ПК) или даже просто пул приложений в IIS, все сеансы будут удалены, а данные сеанса будут потеряны навсегда. Кроме того, если у вас много сеансов и хранят большое количество данных в каждом сеансе, для этого процесса потребуется много памяти, что может быть проблемой. Это называется сессиями In-Proc.

Основной альтернативой является база данных SQL Server. Таким образом, сеансы сохраняются даже после перезагрузки, и на самом деле не имеет значения, насколько велика каждая сессия. Основным недостатком является добавленная латентность: выборка данных из базы данных происходит медленнее, чем решение In-Proc.

Есть также некоторые другие способы хранения сеансов (в том числе возможность записи полностью нового поставщика сеансов), но двумя распространенными являются «Память сервера» и «База данных MS SQL».

Смежные вопросы