asp.net – Autofac懒惰属性注入
|
我正在尝试将业务逻辑实现注入Web API基础控制器.基本控制器中的某些属性始终为null. 另外我怎么做懒人注射? Startups.cs public IServiceProvider ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<ViewBusinessLogic>().As<IViewBusinessLogic>().
PropertiesAutowired();
containerBuilder.Populate(services);
var container = containerBuilder.Build();
return container.Resolve<IServiceProvider>();
}
接口,实现和基本控制器: public interface IViewBusinessLogic
{
IEnumerable<dynamic> GetView(Guid viewId);
}
public class ViewBusinessLogic : BusinessLogic,IViewBusinessLogic
{
public IEnumerable<dynamic> GetView(Guid viewId)
{
return new List<dynamic>
{
new { Test = "Test1" },new { Test = "Test2" }
};
}
}
public abstract class BaseController : Controller
{
public IViewBusinessLogic ViewBusinessLogic { get; }
}
解决方法默认情况下,DI框架不会解析控制器.您需要添加AddControllerAsServices才能通过您选择的DI解析它们.从this GitHub issue开始:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Http错误503的自定义错误页面
- asp.net – Javascript:为什么如果(假)?
- asp.net-mvc – 输出在剃刀通过变量?
- 在ASP.NET MVC Core项目中使用View内部的C#7功能
- asp.net-mvc – 如何在Html.RenderAction(MVC3)中
- asp.net-mvc – 官方的“如何”MVC编辑器/显示模
- asp.net – WCF与WebAPI和本机移动设备
- asp.net-mvc-2 – 我应该在我的MVC视图中使用Url
- asp.net – 我应该使用WebMatrix构建一个真实世界
- asp.net – Web.config Build vs Release transf
