在Windows Phone中调用webservice和WCF?

时间:2013-11-26 17:16:37

标签: c# wcf web-services windows-phone-7

我看到了一种从MCWebServiceSoapClient调用的Web服务方法。

//getting the different points for the map when checkbox is checked
private void polyc_Checked(object sender, RoutedEventArgs e)
{
    testingwcf.MCWebServiceSoapClient ob = new TestMap.testingwcf.MCWebServiceSoapClient();
    ob.getPolytechnicPointsAsync();
    ob.getPolytechnicPointsCompleted += new EventHandler<testingwcf.getPolytechnicPointsCompletedEventArgs>(ob_getPolyPointsCompleted);
}

然而,我要实现的是WCF。如何将此方法转换为WCF?我的WCF在这里http://kailun92wcf.cloudapp.net/Service1.svc。是否可以从WCF调用windows phone ersi map?绘制积分?

2 个答案:

答案 0 :(得分:1)

您想从WP应用程序中使用WCF服务吗?

首先,通过visual studio生成客户端代理,右键单击“引用”,选择“添加服务引用”,选择“转到”按钮,此向导应该发现您的服务是否在线。

选择高级按钮,然后选择以下选项

enter image description here

enter image description here

在你的代码背后,连接点击事件,

private void LoadWebService(object sender, RoutedEventArgs e)
    {
      var service =  new Service1Client();

      service.getRecommendPlaceAsync(new getRecommendPlaceRequest { activityId = 1}); //Provide your id here

      service.getRecommendPlaceCompleted += new EventHandler<MyCloundService.getRecommendPlaceCompletedEventArgs>(RecommendedPlaceRequestComplete);
    }

    void RecommendedPlaceRequestComplete(object sender, MyCloundService.getRecommendPlaceCompletedEventArgs e)
    {
        if (e.Error == null)
        {
            var result = String.Join(",", (from place in e.Result.getRecommendPlaceResult select place.Name).ToArray());

            MessageBox.Show(result);
        }
        else
        {
            MessageBox.Show("An error occured: " + e.Error.Message);
        }
    }

查看教程here

答案 1 :(得分:0)

似乎你要做的就是从WCF服务调用手机上的一个功能,你不能通过线路使用事件处理程序,特别是在手机上。

由于手机使用电池运行,您可能需要使用类似推送通知的内容,如下所示:

Sending push notifications for Windows Phone

Setting up your app to receive push notifications for Windows Phone