XML Web サービスを初めて使用し、すぐに使い始めたい人にとっては、その作成方法と呼び出し方法をすぐに理解したいと思うかもしれません。この記事では、簡単な例を使用して、Visual Studio 2008 を使用して Web サービス を作成する方法と、それを呼び出す方法を説明します。この例の Web サービス は、クライアント プログラムのリクエストに基づいて画像を返します。
1. Webサービスプロジェクトを作成します
VS2008を開き、ファイル/新規/プロジェクトを選択し、開いた新しいプロジェクトダイアログボックスでVisual C# -> ASP.NET Webサービスアプリケーションを選択します。 , 次に、プロジェクト名(名前)、保存場所(位置)、ソリューション名(ソリューション名)を入力し、「OK」をクリックするとプロジェクトが生成されます。この例では、プロジェクトとソリューションの名前として AnnotationWebService を使用します (図 1 を参照)。
1:新しいプロジェクトダイアログ
2. VS2008 に Web サービス
を追加します。
ソリューション エクスプローラーの
AnnotationWebService項目を選択し、Project/を選択します新しい項目の追加メニュー項目。開いた新しい項目の追加ダイアログボックスでWeb/Webサービスを選択し、Webサービス(名前)の名前を入力し、[追加]をクリックしてAを追加しますウェブサービス。この例では、Web Service の名前として ImageService を使用します (図 2 を参照)。
画像 2: 新しい項目を追加ダイアログ
の後は、Solution Explorerになります。このようなプロジェクト ディレクトリを参照してください (画像 3 を参照)。 (注: プロジェクトの作成時に、システムはデフォルトで Service1 という名前の Web サービス を追加します。右クリック メニューの 削除 項目をクリックして削除できます。)
写真 3: ソリューションエクスプローラー
3. は Web サービス エンコーディング
ImageService.asmxを右クリックし、マークアップの表示を選択すると、このファイルを開くことができ、次の行が表示されます:
画像サービスコード
ImageService.asmx.csファイル内。 ImageService.asmx を右クリックし、コードの表示 を選択し、ImageService.asmx.cs ファイルを開き、サービス コードを追加します。この例では、指定されたファイルに基づいて画像を読み取るプログラムを作成します。 name を取得し、それをクライアント メソッド GetImage に返します (以下のコードを参照)。
rreeIIS
に仮想ディレクトリ
(仮想ディレクトリ)を追加 IISコンソールプログラムを開き、デフォルトWebサイトを右クリックし、メニュー項目の追加新規/仮想ディレクトリを選択し、開いた仮想ディレクトリキャプションウィザードダイアログボックスに仮想ディレクトリエイリアスを入力します。 (Alias)、この例では AnnotationWebService と入力し、[次へ] をクリックし、ImageService.asmx があるディレクトリを選択して、[完了] まで [次へ] をクリックします。 (注: 上記の説明は XP SP3 環境に基づいています。) 5. Web サービス用のプロキシ (Proxy) を作成する
VS2008で、Windowsアプリケーションソリューション(.sln)を開きます。この場合は、AnnotationAppというソリューションを開きます。Web サービス を呼び出すプロジェクトを右クリックし (たとえば、この例では DataLib を使用することを選択します)、Web 参照の追加 メニュー項目を選択します (Web 参照 を追加したことがない場合)表示されない場合があります Web 参照の追加 メニュー項目。まず、サービス参照の追加 メニュー項目を選択し、ポップアップ サービス参照の追加 ダイアログ ボックスで [詳細設定] をクリックしてから、ポップアップ サービス参照設定 ダイアログ ボックス " Web 参照の追加")、ポップアップ Web 参照の追加 ダイアログ ボックスで、呼び出したい Web サービス の URL を入力しますこの例では、次のように入力します。 次に、「Go」をクリックすると、下の Web ページに ImageService が表示されます。 の使用を避けるために、Web 参照名 編集ボックスに Web によって参照される名前を入力します。 ImageService この名前として、ここでは ImageWebService (画像 4 を参照) と入力し、[参照の追加] をクリックして Web 参照を追加します。
写真 :ウェブ参照を追加ダイアログ これにより、ソリューション エクスプローラーにWebリファレンスが追加されます(画像5を参照)。
写真 :ウェブリファレンス追加しました Image Service System.Web.Services.Protocols.SoapHttpClientProtocolから派生した、ImageServiceと同じ名前のクラスが含まれています。このようにして、ImageService の GetImage メソッドを、独自の Assembly のメソッドと同じようにクライアント コードで呼び出すことができます。 6. 客户程序调用Web Service 在客户程序中需要调取图像的地方增加如下代码(注:代码中的Image类不是.Net Framework类库中的Image类,是客户程序中的一个类): 然后,可以将图像显示出来。 7.运行客户程序来测试Web Service调用 编译运行客户程序,Web Service被成功调用并返回所调用的图像(见图6)。 写真 6: ランニング結果
ImageService imageService = new ImageService();
Bitmap bitmap;
try
{
byte[] image = imageService.GetImage("half-bred panthers.jpg");
MemoryStream memoryStream = new MemoryStream(image);
bitmap = new Bitmap(memoryStream);
_image = new Image(_viewportTransformer, bitmap);
}
catch (WebException e)
{
// Exception handling
}
以上がXML Web サービスのグラフィック コード例の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。