我正在尝试访问由我的WCF服务创建的单例实例,但即使在.SingletonInstance
上调用.Open
后ServiceHost
似乎也为空。
有没有办法强制ServiceHost
在第一个WCF客户端请求进入之前创建实例(可能会自动生成单例实例)?
答案 0 :(得分:9)
我知道这个问题有点陈旧,但我遇到了类似的问题,并认为我找到了解决方案。有一个ServiceHost构造函数的版本,它接受对实例的引用,而不是类型: http://msdn.microsoft.com/en-us/library/ms585487.aspx#Y342
因此,您可以先创建实例,然后将其传递给ServiceHost构造函数。我还没有尝试过这个,但看起来应该可以做到这一点。请务必阅读有关释放实例的说明。当你使用这个构造函数时。
答案 1 :(得分:2)
您可以自行拨打服务电话...
实际上只有在请求进入时才创建实例,您无法访问尚未存在的实例。
但是说真的,试着解决这个问题。你在实现类的构造函数中不能做什么呢?
答案 2 :(得分:0)
....你可能可以使用自定义的IInstanceContextProvider做疯狂的事情......猜猜这不值得它....
答案 3 :(得分:0)
当wcf servicehost创建实例对象时,可以使用类的构造函数并存储实例对象