0

我有一個網絡服務,我正在訪問我的客戶端應用程序(地鐵應用程序),但我想訪問一個特定的方法內我很多方法,我應該怎麼做,從metro應用程序訪問特定的服務方法?

截至現在,我做這樣從我的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)如何訪問這些方法(從地鐵應用程序)內的特定方法? 2)如何將輸入傳遞給該服務方法(從metro應用程序)?

問題可能對你很基本,請幫忙。我是地鐵應用程序開發的新手。

在此先感謝。

回答

0

您擁有的代碼不會調用服務,它會下載服務定義頁面。您需要爲您的項目添加服務引用(右鍵單擊項目節點,從上下文菜單中選擇添加服務引用)。然後您將能夠調用您的服務方法。在WinRT應用程序中,只能異步調用Web服務,所以所有方法都將具有「異步」後綴,並且在調用它時必須使用異步/等待模式。

+0

嗨感謝您的答覆,但我的服務參考網址將會改變(在我的應用程序中,我給用戶在文本框中輸入url),這取決於我需要連接到該服務,這就是我沒有遵循的原因將服務引用添加到項目以訪問方法的傳統方式,請讓我知道如果服務參考url正在更改,我該如何做。 – user1516781 2012-07-31 07:00:20

+0

您可以在運行時使用任何URL配置服務端點地址。在這個SO問題中查看更多詳細信息:http://stackoverflow.com/questions/5036308/dynamically-switch-wcf-web-service-reference-url-path-through-config-file。 – 2012-07-31 15:50:17

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字符串如下:MyOperation myvalue的= 1等等

除此之外@Seva Titov對動態方面做出了很好的迴應。

相關問題