Я использую этот код в глобальном
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
setDbInitializer();
IContainer container = new Container();
container.Configure(c => {
c.IncludeRegistry<BusinessRegistry>();
});
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
}
protected void Application_EndRequest(object sender, EventArgs e)
{
HttpContextLifecycle.DisposeAndClearAll();
}
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
throw new InvalidOperationException(string.Format("Page not found: {0}", requestContext.HttpContext.Request.RawUrl));
return SmObjectFactory.Container.GetInstance(controllerType) as Controller;
}
}
private static void setDbInitializer()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<BehticketContext, Configuration>());
SmObjectFactory.Container.GetInstance<IUnitOfWork>().ForceDatabaseInitialize();
}
, но получаю ошибку в SmObjectFactory.Container.GetInstance<IUnitOfWork>().ForceDatabaseInitialize()
StructureMap.StructureMapConfigurationException: 'No default Instance is registered and cannot be automatically determined for type 'Behticket.DataAccess.IUnitOfWork'