WCF初始化对.NET Remoting的影响很慢

时间:2013-09-26 09:37:57

标签: c# .net wcf remoting

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

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

。从远程处理第一个呼叫响应时间:不到一秒钟。

WCF首次呼叫响应时间:约2秒。

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

任何提示?

2 个答案:

答案 0 :(得分:3)

WCF正在做的远不止远程处理。这项工作需要付出代价。完全停止。

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

答案 1 :(得分:1)

如果您可以选择在AppFabric中托管,那么您可以使用专门设计的Auto-Start Feature来在第一次客户呼叫之前初始化应用程序。

  

自动启动功能的好处

     

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