Какой код должен быть помещен в события application_start и session_start в global.asax? - PullRequest
1 голос
/ 31 октября 2010

Можете ли вы привести пример того, что лучше всего подходит для подпрограмм Application_Start и Session_Start?Я знаю, когда каждая подпрограмма называется.Application_Start, когда первый пользователь впервые обращается к веб-приложению.Session_Start, когда пользователь открывает сеанс с приложением.Но какой код принадлежит каждой из этих подпрограмм.Что должен делать код в каждой подпрограмме?

Ответы [ 3 ]

0 голосов
/ 31 октября 2010

Просто какие-нибудь примеры? Ну, на сайте MVC маршруты зарегистрированы в Application_Start. Это также хорошее место для инициализации контейнера IoC, такого как StructureMap. Может быть, инициализировать некоторые синглтоны, которые есть в вашем приложении, если вы хотите, чтобы они были легко доступны, а не привязаны к ним поздно, когда пользователь обращается к ним (например, если у них высокая стоимость инициализации, и вы бы предпочли сделать один медленный начальный переход на сайт самостоятельно чем беспокоить клиента или два с ним).

Session_Start обычно используется реже, но может быть хорошим местом для отслеживания для каждого пользователя (или для сессии, реально).

0 голосов
/ 13 сентября 2012

Будьте осторожны с обработкой исключений в Application_Start.В интегрированном режиме IIS7 у вас не будет объекта ответа или HTTPContext.Смотрите эту ветку: Запрос недоступен в этом контексте

0 голосов
/ 31 октября 2010

Application_Start часто используется для инициализации настроек всего приложения, которые необходимо выполнить один раз для каждого домена приложения, таких как регистрация контейнеров объектов, чтение некоторых значений инициализации конфигурации, ... В Session_Start вы можете разместить некоторый код, связанныйконкретный пользователь, который начал сеанс.

...