通过Windows手机的WCF第一次不起作用

时间:2012-04-04 07:59:24

标签: wcf silverlight windows-phone-7

我有一个Windows Phone应用程序,它使用WCF服务在数据库上获取和存储数据。 我添加了对WCF服务的服务引用,VS生成了客户端代理和配置文件。

当我尝试在服务器上调用方法时,问题就开始了。

第一次调用导致超时,服务器甚至没有收到请求。 仅在第二次调用中,服务器才会收到请求。

Win7MobileServiceClient client = new Win7MobileServiceClient();

client.GetUserCompleted += new EventHandler<ServiceReference1.GetUserCompletedEventArgs>(client_GetUserCompleted);

client.GetUserAsync(int.Parse(txtID.Text));

由于

1 个答案:

答案 0 :(得分:0)

这可能是由于服务的热身过程。 首次调用WCF服务需要一些时间(我认为正在编译)。如果您回收应用程序池,它将再次发生。

为了确保尝试这个

  1. 部署WCF服务
  2. 从Windows调用WCF服务
  3. 从Windows mobile调用
  4. 如果是这种情况,可能原因是Windows Mobile客户端中的默认超时可能小于stantaderd(1min)。您可以使用许多解决方案

    • 增加Windows移动时间
    • 每次部署时调用服务(例如在Selenium中进行某种冒烟测试。这种方法的问题是,在回收应用程序池后,您将再次遇到同样的问题)

    您可以查看类似的问题:WCF Performance Slow for the first call