Comment : créer un client Web Form ASP.NET

Cette rubrique est spécifique à une technologie existante. Les services Web XML et les clients du service Web XML doivent à présent être créés à l'aide de Windows Communication Foundation.

Code Example

Un Web Form ASP.NET qui agit comme client de service Web diffère des autres clients de service Web dans la façon dont la classe proxy est référencée et dont il est déployé. En particulier, les classes publiques des assemblys, déployées dans le répertoire \Bin sous l'application Web qui contient le Web Form, peut être créées à partir d'un Web Form ASP.NET. Par conséquent, si vous créez une classe proxy de client de service Web, compilez-la dans un assembly et placez-la dans le répertoire \Bin, le Web Form ASP.NET peut créer une instance de la classe proxy.

Pour créer un client de Web Form pour un service Web

  1. Créez un proxy pour votre service Web.

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

    Pour plus d'informations, consultez Création d'un proxy de service Web XML.

Compilez le proxy de service Web dans un assembly, en incluant les assemblys System.Xml.dll et System.Web.Services.dll et le proxy créé à l'étape 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. Créez une page Web Form.

    Pour plus d'informations à ce sujet, consultez ASP.NET Web Forms Pages.

  2. Créez une instance de la classe proxy dans votre code client au sein de Web Form.

    Counter myCounter = new Counter();
    
    Dim myCounter As New Counter()
    
  3. Appelez la méthode de la classe proxy qui communique avec votre méthode de service Web.

    UsageCount = myCounter.ServiceUsage();
    
    UsageCount = myCounter.ServiceUsage()
    
  4. Déployez la page Web Form. Déployez l'assembly du proxy du service Web dans le répertoire \Bin sous l'application Web dans laquelle la page Web Form est déployée.

    Pour plus d'informations sur le déploiement de votre page Web Form, consultez Deploying .NET Framework Applications.

Exemple

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

Voir aussi

Concepts

Création de clients de service Web XML

Autres ressources

Création de clients pour les services Web XML