0

クライアント アプリケーション (地下鉄アプリ) でアクセスしている Web サービスがありますが、これらの多くのメソッド内の特定のメソッドにアクセスしたいのですが、どうすればよいですか?

今のところ、メトロアプリから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つにアクセスし、そのメソッドに入力パラメーターを渡して結果を取得したいと考えています。

1)(メトロアプリから)これらの多くのメソッド内の特定のメソッドにアクセスする方法は?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?myvalue=1 などのように、MyOperation 文字列に追加された QueryStrings として値を送信できます。

それ以外では、@Seva Titov はダイナミックな側面に良い反応を示しました。

于 2012-10-04T11:23:47.260 に答える