Dependency injection MVC5中的结构映射
我正在MVC5中使用structuremap 3.1.2.138。 在我的IoC类中,我试图使用Objectfactory,但它指出Objectfactory已经过时,我应该使用容器,但我找不到一种方法来实现这一点Dependency injection MVC5中的结构映射,dependency-injection,structuremap,objectfactory,Dependency Injection,Structuremap,Objectfactory,我正在MVC5中使用structuremap 3.1.2.138。 在我的IoC类中,我试图使用Objectfactory,但它指出Objectfactory已经过时,我应该使用容器,但我找不到一种方法来实现这一点 public static IContainer Initialize() { var BS_WebDataContextConnectionString = "Data Source=xxx;Initial Catalog=xxx;Integrated Securi
public static IContainer Initialize() {
var BS_WebDataContextConnectionString = "Data Source=xxx;Initial Catalog=xxx;Integrated Security=True;MultipleActiveResultSets=True";
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.Assembly(Assembly.GetCallingAssembly());
scan.WithDefaultConventions();
});
//DataContext
x.For<iBS_WebDataContext>().Use<BS_WebDataContext>()
.Ctor<string>("connectionString")
.Is(BS_WebDataContextConnectionString);
//Repositories
x.For<IReadOnlyEvidenceTypeRepository>().Use<EF6ReadOnlyEvidenceTypeRepository>();
x.For<IReadOnlyStatusCategoryRepository>().Use<EF6ReadOnlyStatusCategoryRepository>();
//Services
x.For<IEvidenceTypeService>().Use<EvidenceTypeService>();
x.For<IStatusCategoryService>().Use<StatusCategoryService>();
});
return ObjectFactory.Container;
}
有谁能给我一个例子,如何将其转换为容器方式吗?可以这样做,包括将您的配置移动到注册表中,以保持其整洁 WebsiteRegistry.cs 然后像这样注册:
IContainer yourContainer = new Container();
yourContainer.Configure(c =>
{
c.IncludeRegistry<WebsiteRegistry>();
});
谢谢JoeMighty。工作起来很有魅力!我只需要省略x。因为注册表继承没有问题,很高兴我能帮上忙!
IContainer yourContainer = new Container();
yourContainer.Configure(c =>
{
c.IncludeRegistry<WebsiteRegistry>();
});