加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 我可以使用IoC容器创建需要运行时值的依赖项吗?

发布时间:2020-12-14 04:51:57 所属栏目:百科 来源:网络整理
导读:我是IoC的新手,所以我想知道它是否是我想做的工作的合适工具. 我正在编写一个多租户应用程序,有几个地方我们可能希望根据当前登录用户所属的组织使用不同的接口实现. 比如说,例如,当一个组织的用户创建工作订单时,需要向该用户的主管发送电子邮件.但对于所有
我是IoC的新手,所以我想知道它是否是我想做的工作的合适工具.

我正在编写一个多租户应用程序,有几个地方我们可能希望根据当前登录用户所属的组织使用不同的接口实现.

比如说,例如,当一个组织的用户创建工作订单时,需要向该用户的主管发送电子邮件.但对于所有其他组织,不需要发送该电子邮件.经典战略模式的东西.

我的问题是,我可以以某种方式指示IoC容器查看某个运行时值(在这种情况下是登录用户的OrganizationId),以确定要将IWorkOrderProcessor的哪个实现注入到需要它的对象的构造函数中?

我目前正在使用Windsor,但使用其他容器的例子会很好.

解决方法

Windsor有一个扩展点,非常适合多租户应用程序:IHandlerSelector.

> http://ayende.com/Blog/archive/2008/10/05/windsor-ihandlerselector.aspx
> http://mikehadlow.blogspot.com/2008/11/multi-tenancy-part-2-components-and.html

这使您可以将应用程序编码为不是多租户.多租户逻辑被移出业务逻辑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读