Po uruchomieniu aplikacji internetowej nie jest obsługiwane żadne żądanie HTTP.
Może zajść potrzeba zdefiniowania metody Application_BeginRequest (Object Sender, EventArgs e), w której dostępny jest kontekst Request.
Edit: Oto przykładowy kod inspirowana blogu Mike'a Volodarsky że Michael Shimmins związane z:
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;
}
}
czek na porcie – TalentTuner
Zobacz także http://stackoverflow.com/a/578083/12484 dla czystszego sposobu uzyskania schematu + host + port z adresu URL (gdy już go masz). –
Wygląda na to, że używasz trybu zintegrowanego, a nie klasycznego (co, jak sądzę, działasz na komputerze lokalnym). Problem polega na tym, że żądanie nie jest dostępne w Application_Start w IIS7. Zajrzyj na: http://mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx Co wyjaśnia ładnie. –