是否可以在没有WorkItem上下文的情况下获取服务实例? 我有一些需要访问某些服务的类,我想知道是否可以在没有明确地在类中注入这些服务的情况下获得这些服务。
答案 0 :(得分:2)
由于所有服务都在 WorkItem 或 rootWorkItem 上下文中注册,因此根据CAB / SCSF的设计规则,这是不可能的。
请详细说明为什么不能在WorkItem中注册服务并从那里获取服务。 CAB / SCSF提出了管理企业应用程序的最佳实践,它取决于我们从中受益多少。
但是,如果真的有必要,您可以在 Infrastructure.Library 中创建一个静态类(可以作为以单件方式实现的服务),并在业务中引用此程序集或功能模块来获取它。
这是一个糟糕的黑客,但技术上可行。