方法 : ASP.NET Web フォーム クライアントを作成する

Code Example

Web サービス クライアントとして機能する ASP.NET Web フォームは、プロキシ クラスの参照方法と配置方法に関して、他の Web サービス クライアントと異なります。特に、アセンブリにあるパブリック クラスは、Web フォームを含む Web アプリケーションの \Bin ディレクトリに配置され、ASP.NET Web フォームから作成できます。このため、Web サービス クライアントのプロキシ クラスを作成し、アセンブリにコンパイルして \Bin ディレクトリに配置すると、ASP.NET Web フォームでは、そのプロキシ クラスのインスタンスを作成できます。

Web サービスの Web フォーム クライアントを作成するには

  • Web サービスのプロキシを作成します。

    Wsdl https://www.contoso.com/Counter.asmx?WSDL
    
    Wsdl /language:VB https://www.contoso.com/Counter.asmx?WSDL
    

    詳細については、「XML Web サービス プロキシの作成」を参照してください。

この Web サービスのプロキシをコンパイルして、System.XML.dll アセンブリ、System.Web.Services.dll アセンブリ、および手順 1 で作成したプロキシを含むアセンブリを生成します。

csc /out:Counter.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll Counter.cs

 <%@ Page Language="C#" %>
<asp:Label id="Label1" runat="server" />
<script runat=server language=c#>

 void Page_Load(Object o, EventArgs e){

  int UsageCount;
  // Create an instance of the Web service class.
  Counter myCounter = new Counter();
  // Call the Web service method ServiceUsage.
  UsageCount = myCounter.ServiceUsage();

  Label1.BackColor = System.Drawing.Color.DarkSlateBlue;
  Label1.ForeColor = System.Drawing.Color.Gold;
  Label1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Inset;

  // Display the results in a Label Web Form server control.
  if (UsageCount == 1)
       Label1.Text ="Web service has been utilized >" + UsageCount.ToString() + "< time.";
  else   
       Label1.Text= "Web service has been utilized >" + UsageCount.ToString() + "< times.";
}
</script>
<%@ Page Language="VB" %>
<asp:Label id="Label1" runat="server" />
<script runat=server language="VB">

Sub Page_Load(o As Object, e As EventArgs)
    Dim UsageCount As Integer
    ' Create an instance of the Web service class.
    Dim myCounter As New Counter()
    ' Call the Web service method ServiceUsage.
    UsageCount = myCounter.ServiceUsage()
    
    Label1.BackColor = System.Drawing.Color.DarkSlateBlue
    Label1.ForeColor = System.Drawing.Color.Gold
    Label1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Inset
    
    ' Display the results in a Label Web Form server control.
    If UsageCount = 1 Then
        Label1.Text = "Web service has been utilized >" & UsageCount.ToString() & "< time."
    Else
        Label1.Text = "Web service has been utilized >" & UsageCount.ToString() & "< times."
    End If
End Sub
</script>

関連項目

概念

XML Web サービス クライアントの作成

その他の技術情報

XML Web サービスのクライアントの作成

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.