我正在编写一个通过WCF公开服务的应用程序.该服务是自托管的(控制台应用程序),需要使用Singleton实例.我试图弄清楚如何在服务配置中指定单例,而不使用服务实现上的属性.是否可以在没有属性的代码中指定单例?
谢谢,埃里克
Lad*_*nka 22
您可以将服务的实例传递给ServiceHost 构造函数,而不是传递类型.在这种情况下,您传递的实例将用作单例.
编辑:
我以前的解决方案不起作用.提供实例ServiceHost构造函数仍然需要ServiceBehaviorAttribute用InstanceContextMode.Single.但这个应该工作:
var host = new ServiceHost(typeof(Service));
var behavior = host.Description.Behaviors.Find<ServiceBehaviorAttribute>();
behavior.InstanceContextMode = InstanceContextMode.Single;
host.Open();
ServiceBehaviorAttribute 即使您没有指定它也包含在内,因此您只需要获取它并更改默认值即可.
| 归档时间: | 
 | 
| 查看次数: | 9562 次 | 
| 最近记录: |