ПРЕДУПРЕЖДЕНИЕ! Всем, кто использует Current.Request .Url.Host. Поймите, что вы работаете на ТЕКУЩЕМ ЗАПРОСЕ и что текущий запрос НЕ ВСЕГДА будет на вашем сервере, а иногда может быть на других серверах.
Поэтому, если вы используете это в чем-то вроде Application_BeginRequest () в Global.asax, то в 99,9% случаев все будет хорошо, но в 0,1% вы можете получить что-то другое, кроме имени хоста вашего собственного сервера.
Хорошим примером этого является то, что я обнаружил не так давно. Мой сервер имеет тенденцию время от времени посещать http://proxyjudge1.proxyfire.net/fastenv . Application_BeginRequest () с радостью обработает этот запрос, поэтому, если вы вызовете Request.Url.Host, когда он делает этот запрос, вы получите обратно proxyjudge1.proxyfire.net. Некоторые из вас могут подумать «нет, черт возьми», но это стоит отметить, потому что это было очень трудно заметить, так как это происходило только в 0,1% случаев: P
Эта ошибка вынудила меня вставить мой хост домена в виде строки в файлы конфигурации.