ASP.NET Core中的依赖注入(vNext)
目前还没有关于DI主题的文档 –
Dependency Injection.有人可以帮助我了解以下内容:
>这些注册有什么区别? public void ConfigureServices(IServiceCollection services) { services.AddTransient<IService,Service>(); services.AddScoped<IService,Service>(); services.AddSingleton<IService,Service>(); services.AddInstance(service); } >使用内置DI的现有解决方案(NInject,Autofac,Structure Map)有什么优缺点? 解决方法
对于遵循SOLID原则的任何相当大尺寸应用的产品开发,vNext的内置DI容器将无用,因为:
>它不能帮助您验证您的配置,使其非常难以诊断来自常见配置错误的问题,例如Captive Dependencies.在合理大小的应用程序中,实际上很难自己发现这些错误。 内置容器还有其他限制,例如只能支持具有单个构造函数的类型,但这是一个非常合理的默认值,因为your injectables should only have a single constructor anyway.由于rc1现在有一些多操作符支持。 如果您从一个新的和简单的项目开始,我的建议是应用Pure DI(这意味着手机组件,而不使用容器),并通过插入your custom IControllerActivator来解决您的类型。之后,当批处理注册和装饰将提高composition root的可维护性,切换到符合您要求的已建立的DI库之一。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 如何将HostBuilder用于WebJob?
- asp.net-mvc – Asp.net Identity使用什么算法来加密密码?
- asp.net-mvc – 对MVC中的模型进行条件验证
- asp.net – 从命令行更改web.config
- asp.net – 如何从水晶报表中的组字段中删除组名
- asp.net-mvc – ASP.NET MVC中的非字符串角色名称?
- asp.net-mvc – AntiXss保护Html模型属性
- ASP.NET – 使用WCF Web服务绑定w / AD组的IIS7部署错误500
- .net – 使用COM注册托管程序集而不使用GAC
- 如何在ASP.NET中混合WebForms和MVC