我有一个WCF服务,我在我的内部网络上使用普通的BasicHttpBinding进行托管,没有任何安全性。WCF在Visual Studio中很慢,在SoapUI中快速
当我使用SoapUI测试服务中的某个方法时,它需要大约7ms的时间才能运行。
当我使用Visual Studio并让它为我存留服务引用时,大约需要500ms才能运行。
我的WCF服务托管在控制台应用程序中,并且我有问题的方法将服务端代码执行时间写出到控制台。它始终在7ms左右运行,即使我从Visual Studio调用它(这似乎与我在SoapUI中获得的时间相对应)。
很显然,使用.Net服务引用对象时肯定会有一些性能问题,但我不知道为什么。也许这是因为我没有在.Net为我掏出的客户端对象上设置一些东西?
有什么办法可以告诉是什么导致性能问题?
下面是我使用的基准在客户端代码:
EnforcerServiceClient myClient = new EnforcerServiceClient(); //This is my service
DateTime dtStart;
for (int i = 0; i < 50; i++)
{
dtStart = DateTime.Now;
myClient.AddOrUpdateRecipient("session", new Recipient());
Console.WriteLine(DateTime.Now.Subtract(dtStart).TotalMilliseconds);
}
感谢。
斯科特