Well, Bill Pierce in his post about making the HttpContext wrapper use the application as a service provider got me to a good enough solution for the script service I had wanted in my previous post.
While not quite as clean as adding it to the HttpContext, I think an extension method on HttpApplication like this will work well for now.
public static object GetService(this HttpApplication application,Type service) { IServiceProvider provider = application as IServiceProvider; if (provider == null) return null; return provider.GetService(service); }
Then add/implement the IServiceProvider on the Global class. Allowing me to get an instance of the script service using
IScriptService scriptSvc = this.HttpContext.ApplicationInstance.GetService(typeof(IScriptService)) as IScriptService;
Though though the more I think of it, the more likely I am to stick this method on the Ajax and Html helper classes. I wonder how hard it would be to add an interface like IMvcHelper to both the AjaxHelper and HtmlHelper Classes my extension method would be available to both, without duplicating code.