Определить, запущено ли приложение ASP.NET локально

Я хочу знать, есть ли рекомендуемый способ определения, работает ли приложение asp локально. В настоящий момент я использую объект Request и выполняю строковый поиск для localhost или 127.0.0.1 на переменной сервера, но это имеет несколько ограничений. Самый большой из них заключается в том, что объект Request не всегда доступен, когда мне это нужно.

Ответ 2

Вы можете проверить свойство Request.IsLocal

Ответ 5

Запрос не всегда доступен в среде ASP.NET?

HttpContext и его свойства Request/Response инициализируются, как только сервер начинает обрабатывать страницу. Поэтому в любом месте вы можете выполнить код С# в жизненном цикле вашей страницы, вы должны проверить URL-адрес запроса.

Ответ 6

Если HttpContext.Current не имеет значения null,

HttpContext.Current.Request.IsLocal

В противном случае, например, в App_Start или до HttpContext.Current, вы можете протестировать

HostingEnvironment.ApplicationPhysicalPath.StartsWith(@"C:\")

или выделенный диск на вашем ПК.

Другим способом может быть использование постоянной переменной компиляции, установленной в процессе производства, например, из Azure и visualstudio.com, если вы их используете.

Он грязный, но он работает.