Compartir a través de


Crear un cliente de formulario Web Form de ASP.NET

Un formulario Web Form de ASP.NET que actúe como cliente de servicios Web XML se distingue de otros clientes de servicios Web XML en la forma de hacer referencia a la clase de proxy y en la forma de implementarse. En particular, en un formulario Web Form de ASP.NET se pueden crear clases públicas en ensamblados, que se implementan en el directorio \Bin de la aplicación Web que contiene el formulario Web Form. Por lo tanto, si crea una clase de proxy de cliente de servicios Web XML, la compila en un ensamblado y la coloca en el directorio \Bin, el formulario Web Form de ASP.NET puede crear una instancia de la clase de proxy.

Para crear un cliente de formulario Web Form para un servicio Web XML

  1. Cree un proxy para el servicio Web XML.

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

    Para obtener más información, vea Crear un proxy de servicio Web XML.

  2. Compile el proxy de servicio Web XML en un ensamblado, incluyendo los ensamblados System.XML.dll y System.Web.Services.dll, así como el proxy creado en el paso 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. Cree un formulario Web Form.

    Para obtener más información sobre cómo crear un formulario Web Form, vea Páginas de formularios Web Forms.

  4. Cree una instancia de la clase de proxy, en el código de cliente, dentro del formulario Web Form.

    Counter myCounter = new Counter();
    [Visual Basic]
    Dim myCounter As New Counter()
    
  5. Llame al método de la clase de proxy que se comunica con el método de servicio Web XML.

    UsageCount = myCounter.ServiceUsage();
    [Visual Basic]
    UsageCount = myCounter.ServiceUsage()
    
  6. Implemente el formulario Web Form. Implemente el ensamblado del proxy de servicio Web XML en el directorio \Bin de la aplicación Web en la que se implementa el formulario Web Form.

    Para obtener más información sobre cómo implementar el formulario Web Form, vea Implementar aplicaciones de .NET Framework.

    En el ejemplo siguiente se muestra un cliente de formulario Web Form para el servicio Web XML anterior.

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

Vea también

Generar clientes de servicios Web XML | Crear clientes para servicios Web XML