Compartir a través de


Cómo: Crear un cliente Web Form de ASP.NET

Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.

Code Example

Un formulario Web Form ASP.NET que actúa como un cliente de servicio Web difiere de otros clientes de servicios Web en cómo se hace referencia a la clase de proxy y cómo se implementa. Específicamente, las clases públicas en ensamblados, implementados en el directorio \Bin bajo la aplicación web que contiene el formulario Web Form, se puede crear a partir de un formulario Web Form ASP.NET. Por consiguiente, si crea una clase de proxy del cliente de servicios Web, se compila en un ensamblado y se coloca en el directorio \Bin, el formulario Web Forms ASP.NET puede crear una instancia de la clase de proxy.

Para crear un cliente del formulario Web Form para un servicio Web

  1. Cree un proxy para su servicio Web.

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

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

Compile el proxy del servicio Web en un ensamblado, incluyendo el System.Xml.dll, los ensamblados System.Web.Services.dll y el proxy creados en el paso 1.

csc /out:Counter.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll Counter.cs
vbc /out:Counter.dll /t:library /r:System.XML.dll,System.Web.Services.dll Counter.vb
  1. Cree un formulario Web Forms.

    Para obtener más información sobre la creación de un formulario Web Forms, vea ASP.NET Web Forms Pages.

  2. Cree instancia de la clase de proxy en el código del cliente dentro del formulario Web Forms.

    Counter myCounter = new Counter();
    
    Dim myCounter As New Counter()
    
  3. Llame al método de la clase de proxy que se comunica con su método de servicio Web.

    UsageCount = myCounter.ServiceUsage();
    
    UsageCount = myCounter.ServiceUsage()
    
  4. Implementar el formulario Web Forms. Implemente el ensamblado de proxy de servicio Web en el directorio \Bin bajo la aplicación web en la que se ha implementado el formulario Web Forms.

    Para obtener más información sobre cómo implementar su formulario Web Forms, vea Deploying .NET Framework Applications.

Ejemplo

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

Vea también

Conceptos

Generar clientes de servicios web XML

Otros recursos

Crear clientes de servicios web XML