AVISO! Para quem usa Current.Request .Url.Host. Entenda que você está trabalhando com base no PEDIDO ATUAL e que o pedido atual NÃO será SEMPRE com o seu servidor e às vezes pode ser com outros servidores.
Portanto, se você usar isso em algo como Application_BeginRequest () em Global.asax, em 99,9% do tempo estará tudo bem, mas 0,1% poderá obter algo diferente do nome de host do seu próprio servidor.
Um bom exemplo disso é algo que descobri há não muito tempo. Meu servidor tende a acessar http://proxyjudge1.proxyfire.net/fastenv de vez em quando. Application_BeginRequest () lida com essa solicitação com prazer, então se você chamar Request.Url.Host quando estiver fazendo essa solicitação, você receberá de volta proxyjudge1.proxyfire.net. Alguns de vocês podem estar pensando "não duh", mas vale a pena notar porque era um bug muito difícil de notar, já que acontecia apenas 0,1% das vezes: P
Este bug me forçou a inserir meu host de domínio como uma string nos arquivos de configuração.