如何使 WCF 服务器实例(.svc.cs / .svc.vb 文件中的类的实例)在请求之间保持活动状态?
这是一种无状态、只读的服务类型:我可以接受不同的客户端重用同一个实例。但是,它不是线程安全的:我不希望两个线程同时在这个实例上执行一个方法。
理想情况下,我正在寻找的是 WCF 管理这些实例的“工作池”。比如说,10. 新请求进来:获取一个实例,处理请求。请求结束,回到游泳池。已经有 10 个并发请求在运行?暂停 11 号,直到有新的工人空闲。
我/不/想要的是每个客户端的会话。这些实例的启动成本很高,我不想每次新客户端连接时都这样做。
我不想要的另一件事:处理这个客户端。这不是客户端的责任,它应该对服务器的实现一无所知。我不能总是控制它。
我对 MSDN 文档中不熟悉的术语有点迷失了。我有很多工作要做,但这个泳池系统我似乎无法正确。
我是否必须创建一个静态池并自己管理它?
谢谢
PS:让我感到困惑的是,这方面的几乎所有内容都指向绑定的配置。像 basicHttp 或 wsHttp。但这听起来不对:这应该在更高的层次上,与绑定无关:这是关于工人经理的。或不?