WCF 服务 - 在启动时创建多个实例?

标签 wcf multiple-instances

如果之前有人问过这个问题,我深表歉意,但我已经搜索过但找不到答案

我们有一个提供多达 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/

相关文章:

c# - 更新方法发送完整的对象或仅更新

apache - 如何在 RedHat Linux 中运行两个 Apache Web 服务器 (httpd)?

c++ - Boost::shared_ptr 使用这个实例化

c# - 记录多实例应用程序最佳实践?

c# - 发现 - ProbeMatch 响应被丢弃

JQuery Json错误: Object doesn't support this property or method

.net - .net 中的 RESTful 服务 - WCF 或 ASP.NET MVC 哪个更好?

c++ - 链接器通常会优化掉来自不同 C++ 模板实例的重复代码吗?

mysql - SQl 查询的多计数

wcf - Windows Phone 7 应用程序 + WCF + SSL + 用户名认证