为什么';当wcf客户端连接到该服务时,它的速度有多慢?

为什么';当wcf客户端连接到该服务时,它的速度有多慢?,wcf,performance,Wcf,Performance,我在使用WCF服务时遇到性能问题 故事是这样的: 我编写了一个由控制台应用程序托管的自托管WCF服务 我编写了一个简单的客户端来使用该服务 WCF服务运行后,客户端需要15秒以上的时间来创建与该服务的连接 WCF服务非常简单,就像“Hello World”一样。这正常吗?这有助于: 如果您在IIS上托管,无论发生什么情况,启动都需要一段时间。一种方法是添加您自己的脚本;在初始加载时调用服务的脚本 但是,通常情况下,对服务的第一次访问速度很慢,但连续访问将在一两秒钟内完成 第一个慢响应与服务程序

我在使用WCF服务时遇到性能问题

故事是这样的:

  • 我编写了一个由控制台应用程序托管的自托管WCF服务

  • 我编写了一个简单的客户端来使用该服务

  • WCF服务运行后,客户端需要15秒以上的时间来创建与该服务的连接

  • WCF服务非常简单,就像“Hello World”一样。这正常吗?

    这有助于:


    如果您在IIS上托管,无论发生什么情况,启动都需要一段时间。

    一种方法是添加您自己的脚本;在初始加载时调用服务的脚本

    但是,通常情况下,对服务的第一次访问速度很慢,但连续访问将在一两秒钟内完成

    第一个慢响应与服务程序集的JIT编译有关;这意味着它是正常的


    或者,您可能想要下载您的应用程序。您可能还想签出我不久前写的这篇文章。

    我们也经历了同样的情况,我发现是客户端在实际打开TCP连接之前休眠了14秒

    一个简单的电话

    binding.UseDefaultWebProxy = false;
    

    已解决此问题。

    您是否在Internet Information Services中托管WCF服务?不,它由控制台应用程序托管。我没有在其中设计任何序列化/反序列化方法,只需从服务返回一个整数值。而且该服务托管在控制台应用程序中。WCF有自己的契约[反]序列化程序——即使您只是发送基本数据类型。话虽如此,无论我做了什么尝试,WCF的第一次启动在我的系统上都很慢。我使用IIS托管,所以只需关闭定期应用程序池循环。