如果之前有人问过这个问题,我深表歉意,但我已经搜索过但找不到答案
我们有一个提供多达 100 个实例的 WCF 服务 - 因为有 10,000 个客户端,但调用速度非常快。
我们注意到的唯一性能开销是在第一次调用实例时……例如与任何其他调用相比,第一次调用任何实例(或回收后)时会有明显的延迟。
有什么方法可以在 IIS 启动时“启动”100 个实例吗?从而消除这种开销?
有没有办法找出服务上当前“事件/实例化”的实例数量?
非常感谢, 戴夫。
最佳答案
您可以在启动后通过服务器的远程接口(interface)提供服务。
或者,如果您使用的是自定义托管,您也许可以在服务器启动时将服务类的实例传递给 ServiceHost。
如果您在 IIS 中托管,那么您将需要一个 CustomHostFactory。这里有一篇关于如何执行此操作的相当不错的文章。 http://msdn.microsoft.com/en-us/library/bb332338.aspx .
就跟踪实例而言,您可以只增加/减少服务类中的引用计数。
关于WCF 服务 - 在启动时创建多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3650771/