WCF 初始化慢与 .NET 远程处理

本文关键字:处理 程处理 初始化 NET WCF | 更新日期: 2023-09-27 18:32:56

我正在尝试迁移 .NEt 远程处理应用程序到 WCF,现在两个服务(远程处理和 WCF)都共存。我有一个客户端同时使用这两个服务,我注意到在第一次调用 WCF 服务时,它比第一次调用 .NET 远程处理服务需要更长的时间。

使用 .NET 远程处理服务,第一个调用几乎立即得到响应。

.NEt 远程处理首次呼叫响应时间:不到一秒。

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

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

有什么提示吗?

WCF 初始化慢与 .NET 远程处理

WCF所做的不仅仅是远程处理。这项工作是有成本的。句点。

尝试在需要 WCF 服务之前调用它。请考虑向服务添加Heartbeat()Init()方法以触发启动过程。如果启动在第一次调用之前完成,则后续调用不应有延迟。

如果可以选择在 AppFabric 中托管,则可以使用自动启动功能,该功能专门设计用于在第一次客户端调用之前初始化应用程序。

自动启动功能的优点

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