How to prevent an ASP.NET application restarting when the web.config is modified?

I’m hosting the ASP.NET runtime via the ApplicationHost.CreateApplicationHost method. When I modify the web.config while the application is running, i see lots of first chance ThreadAbortExceptions thrown. This is right before my application comes crashing down. I’m assuming this is because the runtime has detected changes to the configuration and wants to restart.

How can I get my webapp’s base URL in ASP.NET MVC?

How can I quickly determine what the root URL is for my ASP.NET MVC application? I.e., if IIS is set to serve my application at http://example.com/foo/bar, then I’d like to be able to get that URL in a reliable way that doesn’t involve getting the current URL from the request and chopping it up in some fragile way that breaks if I re-route my action.