Creazione di client Web Form ASP.NET

Un Web Form ASP.NET che funge da client di un servizio Web XML è diverso da altri client di servizi Web XML per quanto riguarda la modalità di impostazione del riferimento alla classe proxy e la modalità di distribuzione. In particolare, le classi pubbliche negli assembly, distribuite nella directory \Bin dell'applicazione Web contenente il Web Form, possono essere create da un Web Form ASP.NET. Pertanto, se una classe proxy di un client del servizio Web XML viene creata, compilata in un assembly e collocata nella directory \Bin, il Web Form ASP.NET può creare un'istanza della classe proxy.

Per creare un client Web Form per un servizio Web XML

  1. Creare il proxy per il servizio Web XML.

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

    Per ulteriori informazioni, vedere Creazione di un proxy di servizio Web XML.

  2. Compilare il proxy del servizio Web XML in un assembly, inclusi gli assembly System.XML.dll e System.Web.Services.dll e il proxy creato al passaggio 1.

    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. Creare un Web Form.

    Per ulteriori informazioni sulla creazione di un Web Form, vedere Pagine Web Form.

  4. Creare un'istanza della classe proxy all'interno del Web Form, nel codice client.

    Counter myCounter = new Counter();
    [Visual Basic]
    Dim myCounter As New Counter()
    
  5. Chiamare il metodo della classe proxy che comunica con il metodo del servizio Web XML.

    UsageCount = myCounter.ServiceUsage();
    [Visual Basic]
    UsageCount = myCounter.ServiceUsage()
    
  6. Distribuire il Web Form. Distribuire l'assembly proxy del servizio Web XML nella directory \Bin dell'applicazione Web in cui è distribuito il Web Form.

    Per ulteriori informazioni sulla distribuzione del Web Form, vedere Distribuzione di applicazioni .NET Framework.

    Nell'esempio seguente viene descritto un client Web Form per il servizio Web XML illustrato in precedenza.

    <%@ 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>
    

Vedere anche

Generazione di client dei servizi Web XML | Creazione di client per servizi Web XML