在他的书《Programming WCF Services》中,Juval Lowry表达了对使用Singleton服务的担忧,因为这可能会影响性能。
在我的一个项目中,我正在使用一个声明为无状态单例WCF服务,如下所示:
在我的一个项目中,我正在使用一个声明为无状态单例WCF服务,如下所示:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Multiple)]
public class FooService : IFoo
{
}
该服务通过httpsTransport从多个Silverlight客户端访问。我选择了单例模式,因为我认为当不真正需要时,没有必要给系统增加GC开销。我是否遗漏了什么,或者这不应该是实现无状态服务的最有效方式,速度至少与PerCall实例化服务一样快吗?