WebClientProtocol Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Basisklasse für alle XML-Webdienst-Clientproxys an, die mit ASP.NET erstellt wurden.
public ref class WebClientProtocol abstract : System::ComponentModel::Component
public abstract class WebClientProtocol : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class WebClientProtocol : System.ComponentModel.Component
type WebClientProtocol = class
inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClientProtocol = class
inherit Component
Public MustInherit Class WebClientProtocol
Inherits Component
- Vererbung
- Abgeleitet
- Attribute
Beispiele
Das folgende Beispiel ist ein ASP.NET-Webformular, das einen XML-Webdienst namens Math
aufruft. Innerhalb der EnterBtn_Click
Funktion legt das Webformular Proxyinformationen und Clientanmeldeinformationen für die Proxyklasse fest, bevor die REMOTE-XML-Webdienstmethode aufgerufen wird.
Wichtig
Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E)
{
MyMath.Math math = new MyMath.Math();
// Set the client-side credentials using the Credentials property.
ICredentials credentials = new NetworkCredential("Joe","mydomain","password");
math.Credentials = credentials;
// Do not allow the server to redirect the request.
math.AllowAutoRedirect = false;
int total = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text));
Total.Text = "Total: " + total.ToString();
}
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(src As Object, e As EventArgs)
Dim math As New MyMath.Math()
' Set the client-side credentials using the Credentials property.
Dim credentials As New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Do not allow the server to redirect the request.
math.AllowAutoRedirect = False
Dim iTotal As Integer = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text))
Total.Text = "Total: " & iTotal.ToString()
End Sub
</script>
<body>
<form action="MathClient.aspx" runat=server>
Enter the two numbers you want to add and then press the Total button.
<p>
Number 1: <asp:textbox id="Num1" runat=server/> +
Number 2: <asp:textbox id="Num2" runat=server/> =
<asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
<p>
<asp:label id="Total" runat=server/>
</form>
</body>
</html>
Hinweise
Die Eigenschaften der WebClientProtocol -Klasse werden verwendet, um das Verhalten des Transports zu steuern, der zum Übertragen der XML-Webdienstanforderung und -antwort verwendet wird. Die Eigenschaften dieser Klasse ordnen Eigenschaften zu, die auf WebRequestgefunden wurden. Instanzen von Klassen, die von WebRequestabgeleitet werden, wie HttpWebRequestz. B. , werden als Transportmechanismus für XML-Webdienste verwendet, die mit ASP.NET erstellt wurden.
Für die Kommunikation mit einem XML-Webdienst müssen Sie eine Proxyklasse erstellen, die indirekt oder direkt von WebClientProtocol für den XML-Webdienst abgeleitet wird, den Sie aufrufen möchten. Anstatt die Proxyklasse manuell zu erstellen, können Sie das Wsdl.exe-Tool verwenden, um eine Proxyklasse für die Dienstbeschreibung eines bestimmten XML-Webdiensts zu erstellen. Da WebClientProtocol es sich um die Basisklasse für Ihren Clientproxy handelt, finden Sie dessen Eigenschaften in Ihren Proxyklassen. Diese Eigenschaften sind nützlich, um das Anforderungsverhalten des zugrunde liegenden Transports zu steuern. Verwenden Sie beispielsweise die Credentials -Eigenschaft zum Aufrufen authentifizierter XML-Webdienste. Viele der WebClientProtocol Eigenschaften werden verwendet, um das WebRequest Objekt zu initialisieren, das für die Webanforderung verwendet wird.
Konstruktoren
WebClientProtocol() |
Initialisiert eine neue Instanz der WebClientProtocol-Klasse. |
Eigenschaften
CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
ConnectionGroupName |
Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest. |
Container |
Ruft die IContainer ab, die in der Component enthalten ist. (Geerbt von Component) |
Credentials |
Ruft Sicherheitsinformationen für die XML-Webdienst-Clientauthentifizierung ab oder legt diese fest. |
DesignMode |
Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Geerbt von Component) |
Events |
Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind. (Geerbt von Component) |
PreAuthenticate |
Ruft ab oder legt fest, ob die Vorauthentifizierung aktiviert ist. |
RequestEncoding |
Die Encoding, die für die Clientanforderung an den XML-Webdienst verwendet wird. |
Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
Timeout |
Gibt die Zeitspanne an, die ein XML-Webdienstclient auf den Eingang einer Antwort auf eine synchrone XML-Webdienstanforderung wartet (in Millisekunden). |
Url |
Ruft die Basis-URL des vom Client angeforderten XML-Webdiensts ab oder legt sie fest. |
UseDefaultCredentials |
Ruft einen Wert ab, der angibt, ob die Credentials-Eigenschaft auf den Wert der DefaultCredentials-Eigenschaft festgelegt werden soll, oder legt diesen fest. |
Methoden
Abort() |
Bricht eine Anforderung an eine XML-Webdienstmethode ab. |
AddToCache(Type, Object) |
Fügen Sie dem Cache eine Instanz des Clientprotokollhandlers hinzu. |
CreateObjRef(Type) |
Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Geerbt von MarshalByRefObject) |
Dispose() |
Gibt alle vom Component verwendeten Ressourcen frei. (Geerbt von Component) |
Dispose(Boolean) |
Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Geerbt von Component) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetFromCache(Type) |
Ruft eine Instanz eines Clientprotokollhandlers aus dem Cache ab. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetService(Type) |
Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt. (Geerbt von Component) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetWebRequest(Uri) |
Erstellt eine WebRequest-Instanz für den angegebenen |
GetWebResponse(WebRequest) |
Gibt eine Antwort von einer synchronen Anforderung an eine XML-Webdienstmethode zurück. |
GetWebResponse(WebRequest, IAsyncResult) |
Gibt eine Antwort von einer asynchronen Anforderung an eine XML-Webdienstmethode zurück. Diese geschützte Methode wird durch die XML-Webdienstclient-Infrastruktur aufgerufen, um die Antwort von einer asynchronen XML-Webdienstanforderung zu erhalten. |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
ToString() |
Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden. (Geerbt von Component) |
Ereignisse
Disposed |
Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird. (Geerbt von Component) |
Gilt für:
Threadsicherheit
Die Eigenschaften dieser Klasse werden für jeden Aufruf der XML-Webdienstmethode in eine neue Instanz eines WebRequest Objekts kopiert. Während Sie XML-Webdienstmethoden für dieselbe WebClientProtocol Instanz aus verschiedenen Threads gleichzeitig aufrufen können, wird keine Synchronisierung durchgeführt, um sicherzustellen, dass eine konsistente Momentaufnahme der Eigenschaften an das WebRequest Objekt übertragen wird. Wenn Sie daher die Eigenschaften ändern und gleichzeitig Methodenaufrufe aus verschiedenen Threads ausführen müssen, sollten Sie eine andere Instanz des XML-Webdienstproxys verwenden oder Eine eigene Synchronisierung bereitstellen.