Service CAB:获取服务实例而不引用WorkItem

Service CAB:获取服务实例而不引用WorkItem,service,cab,workitem,scsf,Service,Cab,Workitem,Scsf,是否可以在没有WorkItem上下文的情况下获取服务实例? 我有一些需要访问某些服务的类,我想知道,如果不在类中显式注入这些服务,是否可以获得这些服务。因为所有服务都在工作项或根工作项上下文中注册,根据CAB/SCSF的设计规则,这是不可能的 请详细说明为什么您不能在WorkItem中注册服务并从那里获得它。CAB/SCSF提出了管理企业应用程序的最佳实践,这取决于我们从中受益的程度 但如果确实有必要,您可以在Infrastructure.Library中拥有一个静态类(可以作为以单例方式实现的

是否可以在没有WorkItem上下文的情况下获取服务实例?
我有一些需要访问某些服务的类,我想知道,如果不在类中显式注入这些服务,是否可以获得这些服务。

因为所有服务都在工作项根工作项上下文中注册,根据CAB/SCSF的设计规则,这是不可能的

请详细说明为什么您不能在WorkItem中注册服务并从那里获得它。CAB/SCSF提出了管理企业应用程序的最佳实践,这取决于我们从中受益的程度

但如果确实有必要,您可以在Infrastructure.Library中拥有一个静态类(可以作为以单例方式实现的服务),并在BusinessFunctional模块中引用此程序集以获取它


这是一个坏的黑客,但技术上可行

感谢您的回答,但我尝试的是实例化一个类,该类对已注册的服务有一些依赖关系(因此框架会自动解析所有依赖关系)。我想从一个没有对WorkItem的引用的类中实现它。希望这能让事情变得更清楚。据我所知,您希望访问一个类,并使用一个没有WorkItem的类中的服务。我说得对吗?如果是,那么这里是你能做的。当您面临这样的问题时,您应该在实例化时通过在构造函数中传递WorkItem的引用将“WorkItem”带到所有类中。这意味着,首先,您当前的类应该有WorkItem,以便能够pas WorkItem。因此,首先将工作项传递给这个类,然后再传递给新类。我自己也遇到过此类问题,并且我已经成功地解决了。如果这不会产生任何结果,请添加一些更具体的细节。