Vorgehensweise: Erstellen eines ASP.NET Web Form-Clients
Dieses Thema bezieht sich auf eine veraltete Technologie. XML-Webdienste und XML-Webdienstclients sollten nun mithilfe der folgenden Technologie erstellt werden: Windows Communication Foundation.
Code Example
Ein ASP.NET Web Form, das als Webdienstclient fungiert, unterscheidet sich von anderen Webdienstclients in der Art und Weise, in der auf eine Proxyklasse verwiesen wird und in der sie bereitgestellt wird. Insbesondere ist es möglich, von einem ASP.NET Web Form aus öffentliche Klassen zu erstellen, die in Assemblys im Unterverzeichnis \Bin der Webanwendung, die das Web Form enthält, bereitgestellt werden. Wenn Sie eine Proxyklasse für einen Webdienstclient erstellen, diese in eine Assembly kompilieren und im Verzeichnis \Bin ablegen, kann das ASP.NET Web Form daher eine Instanz der Proxyklasse erstellen.
So erstellen Sie einen Web Form-Client für einen Webdienst
Erstellen Sie eine Proxyklasse für den Webdienst.
Wsdl https://www.contoso.com/Counter.asmx?WSDL
Wsdl /language:VB https://www.contoso.com/Counter.asmx?WSDL
Weitere Informationen finden Sie unter Erstellen eines XML-Webdienstproxys.
Kompilieren Sie die Webdienst-Proxyklasse in eine Assembly, in die Sie die Assemblys System.Xml.dll und System.Web.Services.dll und die in Schritt 1 erstellte Proxyklasse einbinden.
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
Erstellen Sie ein Web Form.
Weitere Informationen zum Erstellen eines Web Forms finden Sie unter ASP.NET Web Forms Pages.
Erstellen Sie eine Instanz der Proxyklasse im Clientcode innerhalb des Web Forms.
Counter myCounter = new Counter();
Dim myCounter As New Counter()
Rufen Sie die Methode der Proxyklasse auf, die mit der Webdienstmethode kommuniziert.
UsageCount = myCounter.ServiceUsage();
UsageCount = myCounter.ServiceUsage()
Stellen Sie das Web Form bereit. Stellen Sie die Webdienst-Proxyassembly im Verzeichnis "\Bin" unter der Webanwendung bereit, in der das Web Form bereitgestellt wird.
Weitere Informationen zum Bereitstellen des Web Forms finden Sie unter Deploying .NET Framework Applications.
Beispiel
<%@ 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>
Siehe auch
Konzepte
Erstellen von XML-Webdienstclients