我有一个WPF桌面应用程序(.NET 4.0),它与使用.NET 2.0编写的现有asmx服务进行通信 以下是我们用于访问服务的代码
Stopwatch s = new System.Diagnostics.Stopwatch();
s.Start();
APMService svc = new APMService();
UserInfoExtended[] Users = svc.FindAllUsers(LicenseKey);
s.Stop();
TimeSpan ts = s.Elapsed;
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
MessageBox.Show("WS CALL" + " : " + elapsedTime);
return Users;
好的,现在当我第一次运行此代码时(它连接到一个按钮点击),大约需要19秒。当我再次单击该按钮时,只需不到一秒钟。这是100%的重复。令我困惑的是我为webservice(.NET 2.0)编写了一个控制台客户端,每次只需不到一秒钟。我在这里错过了什么 这是WPF的事吗?它与asmx服务的(de)序列化器交互的方式。该服务是否在.NET 2.0上导致问题 欢迎任何建议 谢谢
答案 0 :(得分:0)
我要做的第一件事是启动Fiddler监控实际请求。这允许您查看延迟是在实际调用中还是在代理类中。 如果它在通话中,您应该在服务中寻找解释。如果没有,请尝试在Visual Studio中分析代码。它可以让您对代码中的延迟位置有所了解。