Как я могу узнать, было ли запрошено действие контроллера DNS или IP? - PullRequest
0 голосов
/ 26 января 2011

На моем сервере WebDev я пытаюсь проверить, запрашивалось ли действие контроллера через его необработанный IP-адрес или через DNS.Я попытался посмотреть на HttpRequest.Url.HostNameType контроллера, но, похоже, он разрешает DNS, даже если я ввожу свой локальный IP в браузереЕсть идеи?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 26 января 2011

Эта информация передается в заголовке Host HTTP-запроса, поэтому вы должны иметь к нему доступ следующим образом:

var requestedHost = Request.Headers["Host"];

Если запрос был для IP-адреса, эта строка IP-адреса должна быть возвращена. В противном случае это будет любое имя хоста, которое они использовали.

0 голосов
/ 26 января 2011

HttpContext.Current.Request.Url.Authority

Получает имя хоста системы доменных имен (DNS) или IP-адрес и номер порта для сервера.

Uri baseUri = new Uri("http://www.contoso.com:8080/");
Uri myUri = new Uri(baseUri,"shownew.htm?date=today");

Console.WriteLine(myUri.Authority);

Вывод: www.contoso.com:8080

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