protected virtual IUnityContainer GetContainer(RequestContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
var unityContainerAccessor = context.HttpContext.ApplicationInstance as IUnityContainerAccessor;
if (unityContainerAccessor == null)
{
throw new InvalidOperationException("You must extend the HttpApplication in your web project and implement the IContainerAccessor to properly expose your container instance");
}
IUnityContainer container = unityContainerAccessor.Container;
if (container == null)
{
throw new InvalidOperationException("The container seems to be unavailable in your HttpApplication subclass");
}
return container;
}