public override void Run()
{
base.Run();
_container.Configure(x =>
{
x.For<IAccountFetcher>().Use<AccountFetcher>();
x.For<IRepository>().Use<Repository>();
x.For<IMappingEngine>().Use(Mapper.Engine);
//x.For<IControllerFactory>().Use(() => null);
//x.For<IControllerActivator>().Use(() => null);
});
//register this action filter to open and close the NHibernate session at the beginning and end of each request
GlobalFilters.Filters.Add(new SessionManagementFilter(_container.GetInstance<ISessionContainer>()));
//register a dependency resolver so that controllers and their dependencies can be resolved
DependencyResolver.SetResolver(new StructureMapDependencyResolver(_container));
ConfigureAutomappings();
RegisterRoutes();
}