我有一个装饰为 InstanceContextMode.Single 的 WCF (4.0) 服务,实现该服务的类遵循单例模式。
我首先使用 Instance 属性创建我的服务实现的单例实例。然后我将此单个实例传递给 ServiceHost 的构造函数,而不是使用带有 typeof() 参数的构造函数。
我可以在服务上执行 Open(),然后可以执行 Close(),一切都很好。但显然在 Close() 上,它以某种方式处理了我的单例 (???),因为当我在同一个 ServiceHost 上再次尝试 Open() 时,抛出了 ObjectDisposedException。
我的服务由 Windows 窗体应用程序中的 NetTcpBInding 托管。