ПРЕДУПРЕЖДЕНИЕ! Всем, кто использует 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
Эта ошибка вынудила меня вставить хост домена в виде строки в файлах конфигурации.