Узнайте в Global.Asax - Application_Start, если приложение ASP.NET работает локально - PullRequest
8 голосов
/ 22 мая 2010

HttpContext.Current.Request.IsLocal недоступен в Global.Asax / Application_Start (запрос недоступен в контексте).

Как еще можно безопасно определить, запущено ли мое приложение ASP.NET MVC локально или нет?

Это условно переписать мой web.config (в зависимости от того, развернуто ли приложение (удаленно) или в тестировании (локально)).

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 мая 2010

Событие Application_Start будет запущено, когда IIS / cassini / что-либо еще загружает ваше приложение (задолго до того, как были сделаны какие-либо HTTP-запросы).

Читая ваши комментарии, вы хотите, чтобы это была «одноразовая операция», которая действительно не имеет смысла. Ваше приложение не столько «запускается локально», но может запрашиваться локально и / или удаленно несколько раз в течение своего жизненного цикла. Имея это в виду, вам нужно проверять каждый запрос, как прокомментировал Дэвид.

Может быть, было бы лучше, если бы вы немного объяснили, чего вы пытаетесь достичь?

0 голосов
/ 22 мая 2010

Может быть более целесообразно проверить это в методе BeginRequest вместо Application_Start, поскольку первый запрос может быть локальным, но позже вы можете вызвать приложение в каком-то другом домене, и он больше не будет локальным.

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