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
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
Créez une page Web Form.
Pour plus d'informations à ce sujet, consultez ASP.NET Web Forms Pages.
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()
Appelez la méthode de la classe proxy qui communique avec votre méthode de service Web.
UsageCount = myCounter.ServiceUsage();
UsageCount = myCounter.ServiceUsage()
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