【问题标题】:WCF initialization slow vs .NET RemotingWCF 初始化慢 vs .NET Remoting
【发布时间】:2013-09-26 09:37:56
【问题描述】:

我正在尝试将 .NEt Remoting 应用程序迁移到 WCF,现在这两个服务(Remoting 和 WCF)都在一起。 我有一个客户端同时使用这两种服务,我注意到在第一次调用 WCF 服务时,它比第一次调用 .NET Remoting 服务花费的时间稍长。

使用 .NET Remoting 服务,第一次调用几乎立即得到响应。

.NEt Remoting 第一次调用响应时间:不到一秒。

WCF 首次调用响应时间:约 2 秒。

我知道打开 WCF 连接需要一些初始化成本,但是如何加快这个 WCF 通道唤醒时间??

有什么提示吗?

【问题讨论】:

标签: c# .net wcf remoting


【解决方案1】:

WCF 所做的远不止远程处理。这项工作是有代价的。句号。

在需要之前尝试调用 WCF 服务。考虑在服务中添加Heartbeat()Init() 方法来触发启动过程。如果第一次调用就完成了启动,那么后续调用应该不会有延迟。

【讨论】:

    【解决方案2】:

    如果您可以选择在 AppFabric 中托管,那么您可以使用 Auto-Start Feature,它专门用于在第一次客户端调用之前初始化应用程序。

    自动启动功能的好处

    当您启用自动启动时 服务的功能,服务一旦启动并运行 它所属的应用程序在服务之前启动 从客户端接收第一条 WCF 消息。因此,服务 快速处理第一条消息,因为它已经初始化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多