共用方式為


建立 ASP.NET Web Form 用戶端

當作 XML Web Service 用戶端的ASP.NET Web Form,與其他的 XML Web Service 用戶端相較下,在參考部署 Proxy 類別上有所不同。特別的是,如果將組件內的公用類別部署到 (包含 Web Form 的) Web 應用程式下的 \Bin 目錄,您就可以從 ASP.NET Web Form 建立公共類別。所以,如果您要建立 XML Web Service 用戶端的 Proxy 類別,請將它編譯為組件,然後放到 \Bin 目錄下,這樣 ASP.NET Web Form 就可以建立 Proxy 類別的執行個體。

若要建立 XML Web Service 的 Web Form 用戶端

  1. 為您的 XML Web Service 建立 Proxy。

    Wsdl https://www.contoso.com/Counter.asmx?WSDL
    [Visual Basic]
    Wsdl /language:VB https://www.contoso.com/Counter.asmx?WSDL
    

    如需詳細資訊,請參閱建立 XML Web Service Proxy

  2. 將 XML Web Service Proxy 編譯為組件,包括 System.XML.dllSystem.Web.Services.dll 組件,以及步驟 1 建立的 Proxy。

    csc /out:Counter.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll Counter.cs
    [Visual Basic]
    vbc /out:Counter.dll /t:library /r:System.XML.dll,System.Web.Services.dll Counter.vb
    
  3. 建立 Web Form。

    如需建立 Web Form 的詳細資訊,請參閱 Web Form 網頁

  4. 在 Web Form 的用戶端程式碼中,建立 Proxy 類別的執行個體。

    Counter myCounter = new Counter();
    [Visual Basic]
    Dim myCounter As New Counter()
    
  5. 呼叫能與您 XML Web Service 方法進行通訊的 Proxy 類別方法。

    UsageCount = myCounter.ServiceUsage();
    [Visual Basic]
    UsageCount = myCounter.ServiceUsage()
    
  6. 部署 the Web Form.將 XML Web Service Proxy 組件部署至 (部署 Web Form 的) Web 應用程式下的 \Bin 目錄。

    如需部署 Web Form 的詳細資訊,請參閱部署 .NET Framework 應用程式

    下列範例示範先前 XML Web Service 的 Web Form 用戶端。

    <%@ 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 XML Web service class.
      Counter myCounter = new Counter();
      // Call the XML 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 ="XML Web service has been utilized >" + UsageCount.ToString() + "< time.";
      else   
           Label1.Text= "XML Web service has been utilized >" + UsageCount.ToString() + "< times.";
    }
    </script>
    [Visual Basic]
    <%@ 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 XML Web service class.
        Dim myCounter As New Counter()
        ' Call the XML 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 = "XML Web service has been utilized >" & UsageCount.ToString() & "< time."
        Else
            Label1.Text = "XML Web service has been utilized >" & UsageCount.ToString() & "< times."
        End If
    End Sub
    </script>
    

請參閱

建置 XML Web Service 用戶端 | 建立 XML Web Service 的用戶端