我试图了解身份如何融合在一起。我想实现Dapper而不是实体框架,但我觉得为了让我能够支持将来我需要了解发生了什么。
因此,我在此处从Identity Repository下载了2.0.0版本:https://github.com/aspnet/Identity/releases并开始环顾四周。
我现在卡住的部分是IOptions<IdentityOptions>
,需要由UserManager传入。查看IdentityOptions
类本身,我理解这些是PasswordOptions等内容的配置。所以我需要实例化并设置它们然后绑定它们。
但是,我不理解的部分是IOptions
界面。它似乎是一个包装器,但为什么它在那里,它的目的是什么?为什么不单独创建IdentityOptions
,为什么需要将其包装在IOptions接口中?
答案 0 :(得分:1)
据我了解,IOptions是检索任何已配置对象及其基础属性的接口。例如,IdentityOptions类下有多个Options对象。您可以通过将选项类添加到服务集合对象中,将IdentityOptions插入DI管道,而不是逐个实例化它们。这样,您可以通过构造函数注入来访问任何Options对象(来自IdentityOptions类)。
要记住的是,所有&#34;选项&#34; IdentityOptions下的对象本身就是类。因此,为了避免所有手动实例化,您可以通过在Options类中包装IOptions来使用DI管道。
希望这会有所帮助。