c# – Asp.net MVC样板依赖注入不起作用
我正在玩
Asp.Net MVC 6 boilerplate项目.我正在尝试为我的一个服务配置依赖注入.看起来内置的IoC容器忽略了我的绑定.
Startup.cs public void ConfigureServices(IServiceCollection services){ /*boilerplate's default bindings*/ services.AddTransient<IDummy,Dummy>(p => new Dummy() { name = "from injection" }); } HomeController.cs public IActionResult Index(IDummy dummy){ var test = dummy.name; return this.View(HomeControllerAction.Index); } 例外:
你能告诉我我做错了什么吗? 解决方法
该异常是因为框架无法将操作参数绑定到接口.
当框架默认使用构造函数注入时,您正尝试对Action执行注入. 参考:Dependency Injection and Controllers Constructor Injection
public class HomeController : Controller { IDummy dummy; public HomeController(IDummy dummy) { this.dummy = dummy } public IActionResult Index(){ var test = dummy.name; return this.View(HomeControllerAction.Index); } }
Action Injection with FromServices
public IActionResult Index([FromServices] IDummy dummy) { var test = dummy.name; return this.View(HomeControllerAction.Index); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |