Определите, работает ли приложение ASP.NET локально - PullRequest
75 голосов
/ 28 марта 2009

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

Ответы [ 7 ]

143 голосов
/ 28 марта 2009

См. HttpRequest.IsLocal

bool isLocal = HttpContext.Current.Request.IsLocal;
12 голосов
/ 28 марта 2009

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

5 голосов
/ 19 июня 2017

Это сработало для меня с Application_Start

if (!HostingEnvironment.IsDevelopmentEnvironment)
{
      GlobalFilters.Filters.Add(new RequireHttpsAttribute());
}

Чтобы узнать больше о настройке IsDevelopmentEnvironment, просмотрите следующую ветку.

Что в ASP.NET определяет значение HostingEnvironment.IsDevelopmentEnvironment?

1 голос
/ 25 января 2018

В представлении MVC / странице ASP / коде класса:

bool isLocal = HttpContext.Current.Request.IsLocal;

В контроллере MVC:

bool isLocal = Request.IsLocal;
1 голос
/ 25 апреля 2017

Если HttpContext.Current не равен нулю, используйте

HttpContext.Current.Request.IsLocal

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

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

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

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

Это грязно, но работает.

1 голос
/ 16 сентября 2010

Request.IsLocal аналогичен проверке 127.0.0.1 или :: 1. Смотрите это сообщение: http://forums.asp.net/p/1065813/4081335.aspx.

0 голосов
/ 28 марта 2009

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

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

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