我有一个运行ASP.NET兼容性的WCF服务。
此服务应该是只读的,并使用Web脚本工厂创建。
我想从代码中的任何地方获取单例实例(不同的页面等等),如果没有创建它应该被创建,但如果第一次直接访问它不应该创建另一个单例实例,如果有的话一个已经从代码中的某个地方创建的。基本上,我想要一个经典的单例,但不使用静态,服务的创建应该是工厂的工作。
答案 0 :(得分:0)
您可以使用wcf服务上的属性执行此操作:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
class MySingleton : ...
{...}
通过此操作,您的WCF服务只有一个实例,供所有呼叫者使用。
有关详细信息,请参阅:http://msdn.microsoft.com/en-us/magazine/cc163590.aspx