Где запустить код инициализации в Asp.net MVC - PullRequest
2 голосов
/ 09 марта 2010

Мне нужно запустить некоторый код, который будет извлекать некоторые значения конфигурации из web.config во время первого запуска приложения asp.net mvc. Эти значения меняются не часто, но это не моя главная проблема.

Один из способов, который я могу придумать, - это вызвать метод из метода Application_Start () в файле global.asax.cs, но я надеюсь, что у кого-то есть идея получше.

Ответы [ 3 ]

7 голосов
/ 09 марта 2010

Запуск приложения действительно был создан для подобных целей. Если вы просто заполняете вещи из Web.Config, почему бы не создать класс, который извлекает их прямо оттуда, если вы беспокоитесь об абстракции? Он уже кэширован ASP.Net, поэтому вы не платите штраф за многократный доступ к web.config. Таким образом, вам не нужно беспокоиться об использовании Global.Asax, против которого вы, похоже, выступаете.

Если вы действительно против использования Global.Asax, у вас всегда может быть метод, который проверяет, загружены ли они на целевой странице вашего сайта, или есть метод на главной странице, который запускается каждый раз, когда страница с его помощью осуществляется доступ. Я все еще использовал бы Global.asax Application_Start или Session_Start, хотя сам.

0 голосов
/ 09 марта 2010

Я думаю, что это довольно стандартно.

http://weblogs.asp.net/rashid/archive/2009/02/17/use-bootstrapper-in-your-asp-net-mvc-application-and-reduce-code-smell.aspx

(Не ссылка на то, что я бы назвал «рекомендуемым подходом», просто то, что демонстрирует, что Application_Start является отправной точкой для всех видов конфигурации и инициализации.)

0 голосов
/ 09 марта 2010

Это то, что я бы порекомендовал, у вас есть что-то против этого?

Если вы немного подробнее расскажете о том, что вы пытаетесь выполнить, мы, возможно, сможем помочь вам больше.

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