C#下WebService初探:WebサービスおよびWinFormおよびブラウザhttp-get呼び出しの構築

2274 ワード

Visual StudioでWebサービスを構築するのは簡単です.新しいプロジェクトの追加-->ASP.NET Webサービスアプリケーションは、WebServiceを生成し、パラメータを持たないデフォルトのHelloworld Webメソッドを生成します.また、パラメータ付きのメソッドを自分で追加することもできます.以下のようにします.
        [WebMethod]        public string SayHello(string name)        {            return String.Format("Hi, {0}!", name);        }
生成されるのは1つです.dllファイル;Servicesも使用できます.asmxはIISに公開された.
(一)WinFormでWebServicesを呼び出す.
1.新しいプロジェクトを追加する:Windowsフォームアプリケーション;
2.アプリケーション-->アプリケーションを追加し、上で生成したWebServiceアプリケーションファイル(.dll)を見つけ、現在のアプリケーションのアプリケーションを追加する.
3.WebSericeを参照するネーミングスペースを追加します.たとえば、using MyWebService;
4.ウェブサービスを呼び出す効果をテストする:フォームに2つのButtonを設定し、Clickイベントを設定する:
        private void button1_Click(object sender, EventArgs e)

        {

            MyWebService.Service1 localService = new Service1();

            MessageBox.Show(localService.HelloWorld());

        }



        private void button2_Click(object sender, EventArgs e)

        {

            MyWebService.Service1 localService = new Service1();

            string response = localService.SayHello("Tom");

            MessageBox.Show(response);

        }


いいです.
(二)ブラウザの下でHttp-Getを使用してWebServiceを直接呼び出す.すなわち、ブラウザの下のアドレスバーでこのように呼び出す.
http://DomainName/Service1.asmx/SayHello?name="Jick"
デフォルトでは、セキュリティ上の考慮がある.Net 2.0以上ではこのプロトコル呼び出しはサポートする.そうするにはwebを修正する必要がある.configプロファイルは、次のように設定項目を追加します.
                                               
これは  ...  セグメント内の
Webサービスが公開されるとWeb.configは一緒に発表された.
ブラウザを開き、アドレスバーにhttp://127.0.0.1/Service1.asmx/SayHello?Name="dfasfasと入力します.
メソッド名SayHelloの大文字と小文字は敏感で、パラメータ名は大文字と小文字を区別しないが、名前は元のメソッド定義と同じである必要がある.
次のxml情報が得られます.
 

 
<
string
xmlns
="
http://tempuri.org/
">
Hi, "dfasfas"!
string
>
 
もちろん、このような表示結果のUI体験は友好的ではなく、開発者にxmlデータを取得するためのものである.
これがWebサービスに対する初歩的な理解でしょう.