Блокирует ли Application_Start все входящие запросы - PullRequest
9 голосов
/ 05 мая 2010

У меня есть код, который инициализирует статический одноэлементный класс, который необходим для всех запросов. Поэтому я подумал, что смогу добавить его в global.asax Application_Start. Могу ли я быть на 100% уверен, что все запросы будут блокироваться во время загрузки Application_Start, чтобы гарантировать, что все запросы будут иметь к нему доступ?

Большое спасибо Jeeji

1 Ответ

14 голосов
/ 05 мая 2010

Краткий ответ: да.

Application_Start:

Вызывается, когда запрашивается первый ресурс (например, страница) в приложении ASP.NET.Метод Application_Start вызывается только один раз в течение жизненного цикла приложения.Этот метод можно использовать для выполнения задач запуска, таких как загрузка данных в кэш и инициализация статических значений.

При запуске приложения следует устанавливать только статические данные.Не устанавливайте никакие данные экземпляра, потому что они будут доступны только первому экземпляру создаваемого класса HttpApplication.

http://msdn.microsoft.com/en-us/library/ms178473.aspx

...