在第一个WCF客户端请求进入之前,是否可以获得对WCF ServiceHost Singleton实例的引用?

时间:2010-03-09 20:53:33

标签: .net wcf

我正在尝试访问由我的WCF服务创建的单例实例,但即使在.SingletonInstance上调用.OpenServiceHost似乎也为空。

有没有办法强制ServiceHost在第一个WCF客户端请求进入之前创建实例(可能会自动生成单例实例)?

4 个答案:

答案 0 :(得分:9)

我知道这个问题有点陈旧,但我遇到了类似的问题,并认为我找到了解决方案。有一个ServiceHost构造函数的版本,它接受对实例的引用,而不是类型: http://msdn.microsoft.com/en-us/library/ms585487.aspx#Y342

因此,您可以先创建实例,然后将其传递给ServiceHost构造函数。我还没有尝试过这个,但看起来应该可以做到这一点。请务必阅读有关释放实例的说明。当你使用这个构造函数时。

答案 1 :(得分:2)

您可以自行拨打服务电话...
实际上只有在请求进入时才创建实例,您无法访问尚未存在的实例。

但是说真的,试着解决这个问题。你在实现类的构造函数中不能做什么呢?

答案 2 :(得分:0)

....你可能可以使用自定义的IInstanceContextProvider做疯狂的事情......猜猜这不值得它....

答案 3 :(得分:0)

当wcf servicehost创建实例对象时,可以使用类的构造函数并存储实例对象