Наиболее распространенная практика - регистрировать маршруты в событии Application_Start в файле global.asax.cs/vb
.Но для этого вам нужен доступ к этому файлу.Хорошо.
У меня либо нет, либо не хочу.Я пытаюсь интегрировать приложение Asp.net MVC в сайт Sharepoint 2010 и не хочу создавать свой собственный глобальный класс приложений, который бы также регистрировал маршруты для меня, изменил файл Globalpoint.asax на Sharepoint и поместил другое определение класса вЭто.Моя заявка не будет принята, потому что я буду делать неподдерживаемые вещи в Sharepoint.
Мне было интересно, можно ли было тогда зарегистрировать маршруты в другом месте?Сначала мне в голову пришли две альтернативы:
Напишите HttpModule и злоупотребьте событием запуска приложения .Таким образом, я бы вставил код события запуска приложения без искажения с global.asax, к которому у меня нет доступа.Я могу добавить еще один HttpModule в web.config.
Примечание: События уровня приложения недоступны в модулях.Облом.Они могут получить доступ только к событиям уровня запроса.
Важно: ... или так я думал.Если вы проверите принятый ответ, то на самом деле можно обработать событие запуска на уровне приложения.Косвенно и надежно это возможно.
Напишите HttpModule и злоупотребьте некоторым другим событием , таким как запрос запуска .Конечно, я также должен был бы где-то хранить некоторые данные о том, что мои маршруты уже зарегистрированы, и что регистрация будет происходить только в первый раз.
Есть ли лучшие способы /места для регистрации маршрутов?