我正在尝试将.NEt Remoting应用程序迁移到WCF,现在两个服务(Remoting和WCF)都在一起生活。 我有一个客户端同时使用这两个服务,我注意到在第一次调用WCF服务时,它需要比第一次调用.NET Remoting服务稍长一点。
使用.NET Remoting服务,第一次调用get响应几乎立即。
。从远程处理第一个呼叫响应时间:不到一秒钟。
WCF首次呼叫响应时间:约2秒。
我知道要打开WCF连接有一些初始化成本,但是如何加快此WCF通道唤醒时间?
任何提示?
答案 0 :(得分:3)
WCF正在做的远不止远程处理。这项工作需要付出代价。完全停止。
尝试在需要之前调用WCF服务。考虑向服务添加Heartbeat()
或Init()
方法以触发启动过程。如果第一次通话完成启动,则后续通话不应有延迟。
答案 1 :(得分:1)
如果您可以选择在AppFabric中托管,那么您可以使用专门设计的Auto-Start Feature来在第一次客户呼叫之前初始化应用程序。
自动启动功能的好处
启用自动启动时 服务功能,服务即开始运行 它所属的应用程序是在服务之前启动的 从客户端接收第一个WCF消息。因此,服务 快速处理第一条消息,因为它已经初始化。