Skip to content

Instantly share code, notes, and snippets.

@hyrmn
Created March 31, 2014 17:25
Show Gist options
  • Select an option

  • Save hyrmn/9897427 to your computer and use it in GitHub Desktop.

Select an option

Save hyrmn/9897427 to your computer and use it in GitHub Desktop.
public static class StructuremapMvc
{
public static void Start()
{
var container = IoC.Initialize();
GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new StructureMapHttpControllerActivator(container));
}
}
public class StructureMapHttpControllerActivator : IHttpControllerActivator
{
private readonly IContainer _container;
public StructureMapHttpControllerActivator(IContainer container)
{
_container = container;
}
public IHttpController Create(
HttpRequestMessage request,
HttpControllerDescriptor controllerDescriptor,
Type controllerType)
{
var nestedContainer = _container.GetNestedContainer();
nestedContainer.Inject(typeof(HttpRequestMessage), request);
request.RegisterForDispose(nestedContainer);
return (IHttpController)nestedContainer.GetInstance(controllerType);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment