可选的依赖项注入最佳实践

时间:2018-12-24 06:02:32

标签: c# asp.net .net asp.net-core nuget

我制作了一个.net类库,它的功能是创建一个身份用户,并在{的一行中添加所有必要的方法和依赖项(电子邮件验证,google和facebook登录名,角色等)。 {1}},并将其打包为nuget包

一切都很好,但是有时候我不需要在项目中进行电子邮件验证,而是在services.AddMyCoreIdentity(options=>{...})行中将其禁用,但是当我不这样做时,如何防止在程序包中注入电子邮件服务依赖项不需要

那有可能吗?

1 个答案:

答案 0 :(得分:1)

我建议您不要使用options => …机制,而是定义一个流畅的界面,在其中可以执行以下操作:

services
    .AddMyCoreIdentity() // Only adds common services that are always used
    .AddEmail() // Only adds the Email service
    .AddXXX() // Whichever other service that is not always used

希望有帮助!