Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Windows phone的WCF不';我第一次不工作_Wcf_Silverlight_Windows Phone 7 - Fatal编程技术网

通过Windows phone的WCF不';我第一次不工作

通过Windows phone的WCF不';我第一次不工作,wcf,silverlight,windows-phone-7,Wcf,Silverlight,Windows Phone 7,我有一个windows phone应用程序,它使用WCF服务在DB上获取和存储数据。 我向WCF服务添加了一个服务引用,VS生成了客户端代理和配置文件 当我尝试调用服务器上的方法时,问题就开始了 第一次调用导致超时,服务器甚至没有收到请求。 只有在第二次调用中,服务器才会收到请求 Win7MobileServiceClient client = new Win7MobileServiceClient(); client.GetUserCompleted += new EventHandler&

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

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

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

Win7MobileServiceClient client = new Win7MobileServiceClient();

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

client.GetUserAsync(int.Parse(txtID.Text));
Win7MobileServiceClient=新的Win7MobileServiceClient();
client.GetUserCompleted+=新的事件处理程序(client_GetUserCompleted);
GetUserAsync(int.Parse(txtID.Text));

谢谢

这可能是由于服务的预热过程第一次调用WCF服务需要一些时间(我想是在编译它)。如果回收应用程序池,这种情况将再次发生

为了确保安全,尝试一下这个

  • 部署WCF服务
  • 从windows调用WCF服务
  • 从windows mobile调用它
  • 如果是这种情况,原因可能是windows mobile客户端中的默认超时可能小于stantaderd(1min)。有很多解决方案,你可以这样做

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

    您可以检查类似的问题:

    我认为这不是问题所在。如果我连续两次尝试调用该方法,该方法将按预期工作。然后。。。您遇到了一个问题:)请尝试比较客户端和服务的app.config,并检查缓冲区大小和消息大小。可能一行调用两次emthod会给服务器生成时间。假设超时时间为10秒,构建需要11秒。。第一次调用失败,但第二次成功,因为构建时间为1秒,执行时间为1秒…我尝试了所有调用…仍然是相同的问题。我发现问题出在windows phone客户端。我从控制台、win窗体和silverlight应用程序中调用异步服务。也许你写了类似的东西?使用wcf和windows phone客户端