views:

1283

answers:

4

In my Application_Start() method, how can I stop the execution of the ASP.NET application when certain conditions are not met?

Throwing an exception doesn't appear to work.

A: 

Do something that throws an unhandled error. Maybe throwing an Exception would be enough.

MatthewMartin
+1  A: 

i don't think that's possible; even if you could 'abort' the startup, the next attempt to access a URL from the site would try to start it again

perhaps a static variable could be used to signal go/no-go, and begin_request could redirect to a placeholder page instead?

Steven A. Lowe
A: 

HttpContext.Current.Response.End();

craigmoliver
that just stops the page request/response, it does not end the web application
Steven A. Lowe
+1  A: 

There seems to be a COM API that you can use for IIS administration. I think I'd try Environment.Exit() first, though.

tvanfosson
Environment.Exit() apparently also kills IIS and the entire AppPool. I had to restart both the Management Console and the AppPool that my application was running in before IIS would function correctly again.
David Brown