[英]How to use a Service Locator in a WCF service
我正在使用服务定位器来保存类的具体实例,这些实例在WCF服务中使用。 而不是传递ServiceLocator,我决定让它静态,所以我可以从每个类访问它。 当WCF服务启动时,将填充服务定位器,并且根据某些参数,它可以填充不同的具体实现。
我的问题是,如果在另一个调用完成之前调用WCF服务,那么(我认为)将使用不正确的实现填充ServiceLocator。
有没有办法让服务定位器可用于类,而不是由不同的线程重用或调用WCF服务?
您提供了有关服务定位器和不当实现的一些详细信息。 根据我的阅读,我明白这是你自己的。
我的个人建议是,在WCF服务的情况下不应使用服务定位器,因为WCF公开了一些启用依赖项注入的接口。
您可以在此处阅读有关反模式服务定位器的更多信息: http : //blog.ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx
您不应该实现服务定位器,因为有许多OSS项目可以使用依赖注入,并以正确的方式完成工作。
以下是使用StructureMap和WCF服务的依赖注入的正确实现: http : //lostechies.com/jimmybogard/2008/07/30/integrating-structuremap-with-wcf/ 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.