我有一个Web服务,我在我的客户端应用程序(metro应用程序)中访问,但我想访问这些方法中的特定方法我应该怎么做,
截至目前,我正在以这种方式从我的地铁应用程序访问Web服务: -
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
string responseBodyAsText;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://182.134.34.99/OE/examplewebservices.svc");
response.EnsureSuccessStatusCode();
StatusText.Text = response.StatusCode.ToString();
responseBodyAsText = await response.Content.ReadAsStringAsync();
}
我的要求是: - examplewebservices里面有很多方法,所以我想访问其中的一个方法,将输入参数传递给该方法并获得结果。
1)如何在那些多种方法(来自metro应用程序)中访问一个特定方法? 2)如何将输入传递给该服务方法(来自metro app)?
问题可能对您来说非常基础,请帮帮忙。我是都市应用程序开发的新手。
提前致谢。
答案 0 :(得分:0)
您拥有的代码不会调用服务,它会下载服务定义页面。您需要向项目添加服务引用(右键单击项目节点,从上下文菜单中选择“添加服务引用”)。然后,您将能够调用您的服务方法。在WinRT应用程序中,您只能异步调用Web服务,因此所有方法都将具有“Async”后缀,并且在调用它时必须使用async / await模式。
答案 1 :(得分:0)
要在服务上调用操作,您可以使用此模式:
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("http://182.134.34.99/OE/examplewebservices.svc");
HttpResponseMessage response = await client.GetAsync("MyOperation");
...
}
要在这个简单的示例中发送值,您可以将它们作为QueryStrings发送到MyOperation字符串,如下所示:MyOperation?myvalue = 1 etc.
除此之外,@ Seva Titov对动态方面做出了很好的回应。