Асинхронные потоки и сеанс - PullRequest
7 голосов
/ 23 февраля 2011

Когда новый асинхронный поток был создан с использованием этой подписи, будет ли объект сеанса ASP.NET доступен для этого нового потока?

IAsyncResult asyncCall = f.BeginInvoke(null, f);

1 Ответ

5 голосов
/ 23 февраля 2011

Я не знаю, о каком объекте сеанса вы говорите, но если вы говорите о сеансе ASP.NET, он может быть недоступен. Также плохой практикой является доступ к сеансу ASP.NET из фоновых потоков. Я бы порекомендовал вам передать объект, содержащий всю необходимую информацию, в этот фоновый рисунок, вместо того, чтобы он извлекал материал из сеанса => делает его менее пригодным для повторного использования.

Обычно, если вызывающая сторона этого потока ожидает завершения сеанса, она всегда должна быть доступна, но, честно говоря, это плохой дизайн, и я бы просто избежал этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...