Когда ваше веб-приложение запускается, запрос HTTP не обрабатывается.
Возможно, вы захотите определить метод Application_BeginRequest (Object Sender, EventArgs e), в котором доступен контекст запроса.
Редактировать: Вот пример кода, вдохновленный блогом Майка Володарского, с которым Майкл Шимминс связал:
void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
var host = FirstRequestInitialisation.Initialise(app.Context);
}
static class FirstRequestInitialisation
{
private static string host = null;
private static Object s_lock = new Object();
// Initialise only on the first request
public static string Initialise(HttpContext context)
{
if (string.IsNullOrEmpty(host))
{
lock (s_lock)
{
if (string.IsNullOrEmpty(host))
{
var uri = context.Request.Url;
host = uri.GetLeftPart(UriPartial.Authority);
}
}
}
return host;
}
}