Многоразовые обработчики ASP.NET и состояние сеанса - PullRequest
0 голосов
/ 01 декабря 2010

Может ли обработчик ASP.NET (.ashx), реализующий IRequiresSessionState, быть повторно используемым или он сохранит свою связь с первым используемым сеансом?

1 Ответ

3 голосов
/ 01 декабря 2010

Да, его можно использовать повторно.

Абоненты передают состояние сеанса внутри HttpContext, когда они вызывают метод ProcessRequest. Параметры метода доступны только в рамках каждого вызова метода, но не для нескольких вызовов в разных потоках.

В конечном счете, это зависит от вашей реализации ProcessRequest, но если вы не сделаете что-то очень необычное (например, сохраните сеанс в переменной-члене, а затем будете использовать его позже во время вызова метода), каждый запрос будет используйте правильный сеанс, даже если они совместно используют экземпляр обработчика.

...