Configuration 结构映射注入仅适用于ApplicationController:IController,而不适用于类
我的项目ServiceLayer.Intefaces的StructureMap注入问题 MyProjectConfiguration 结构映射注入仅适用于ApplicationController:IController,而不适用于类,configuration,structuremap,setter,code-injection,Configuration,Structuremap,Setter,Code Injection,我的项目ServiceLayer.Intefaces的StructureMap注入问题 MyProject UI 1.MVC5网络应用程序 服务层 1.接口 2.服务 数据层 1.站点上下文 2.配置(迁移) 域类 1.型号 在UI中-MVC5: 从Nuget安装:StructureMap.MVC5 在这样使用时,所有这些都可以工作: public class HomeController : Controller { public IPaymentService PaymentServ
UI
1.MVC5网络应用程序
服务层
1.接口
2.服务
数据层
1.站点上下文
2.配置(迁移)
域类
1.型号
在UI中-MVC5:
从Nuget安装:StructureMap.MVC5 在这样使用时,所有这些都可以工作:
public class HomeController : Controller
{
public IPaymentService PaymentService { get; set; }
public IIdentityManagerService IdentityManagerService { get; set; }
public IApplicationGroupService ApplicationGroupService { get; set; }
public IApplicationUserService ApplicationUserService { get; set; }
public IUnitOfWork _UoW { get; set; }}
但不能在控制器外工作,如下所示:
public class CustomStartup
{
public IIdentityManagerService IdentityManagerService { get; set; }
public IApplicationGroupService ApplicationGroupService { get; set; }
public IApplicationUserService ApplicationUserService { get; set; }
}
我的项目结构图配置:
见此:
当从CustomStratup使用注入时,会出现以下错误:
未注册任何默认实例,并且无法自动确定“ServiceLayer.Interfaces.IIdentityManagerService”类型的默认实例
没有为ServiceLayer.Interfaces.IIdentialManager服务指定配置
1.)Container.GetInstance(ServiceLayer.Interfaces.iIdentityManager服务)
请帮我解决这个问题我也有同样的问题。情况有点奇怪。您可以尝试清楚地定义属性。这对我很有用:
public class CustomStartup
{
public IIdentityManagerService IdentityManagerService
{
get
{
return StructuremapMvc.StructureMapDependencyScope.Container.GetInstance<IIdentityManagerService>();
}
}
}
公共类自定义启动
{
公共II身份管理服务标识管理服务
{
收到
{
返回StructuremapMvc.StructureMapDependencyScope.Container.GetInstance();
}
}
}
当我在寻找更优雅的解决方案时:)