0

我有一个 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)如何将输入传递给该服务方法(来自地铁应用程序)?

问题对您来说可能非常基本,请帮忙。我是地铁应用程序开发的新手。

提前致谢。

4

2 回答 2

0

您拥有的代码不会调用服务,它会下载服务定义页面。您需要为您的项目添加服务引用(右键单击项目节点,从上下文菜单中选择添加服务引用)。然后您将能够调用您的服务的方法。在 WinRT 应用程序中,您将只能异步调用 Web 服务,因此所有方法都将具有“Async”后缀,并且您在调用它时必须使用 async/await 模式。

于 2012-07-31T06:54:04.637 回答
0

要在服务上调用操作,您可以使用此模式:

    using (HttpClient client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://182.134.34.99/OE/examplewebservices.svc");

            HttpResponseMessage response = await client.GetAsync("MyOperation");

            ...

        }

要在这个简单示例中发送值,您可以将它们作为附加到 MyOperation 字符串的 QueryStrings 发送,如下所示:MyOperation?myvalue=1 等。

除此之外,@Seva Titov 对动态方面做出了很好的回应。

于 2012-10-04T11:23:47.260 回答