HttpWebClientProtocol 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.
Stellt die Basisklasse für alle XML-Webdienst-Clientproxys, die das HTTP-Übertragungsprotokoll verwenden.
public ref class HttpWebClientProtocol abstract : System::Web::Services::Protocols::WebClientProtocol
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HttpWebClientProtocol : System.Web.Services.Protocols.WebClientProtocol
type HttpWebClientProtocol = class
inherit WebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type HttpWebClientProtocol = class
inherit WebClientProtocol
Public MustInherit Class HttpWebClientProtocol
Inherits WebClientProtocol
- Vererbung
- Abgeleitet
- Attribute
Beispiele
Das folgende Beispiel ist ein ASP.NET WebFormular, das einen XML-Webdienst namens Math
aufruft. Innerhalb der EnterBtn_Click
Funktion ermöglicht das Webformular dem Server, den Client automatisch an andere Standorte umzuleiten. Außerdem werden Anmeldeinformationen für die Clientauthentifizierung, Proxyeinstellungen, die Anforderungscodierung und das Timeout für die Anforderung vor dem Aufruf der XML-Webdienstmethode festgelegt.
<%@ 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();
// Allow the server to redirect the request.
math.AllowAutoRedirect = true;
// Set the client-side credentials using the Credentials property.
ICredentials credentials =
new NetworkCredential("Joe","password","mydomain");
math.Credentials = credentials;
// Set the proxy server to proxyserver, set the port to 80, and specify to bypass
// the proxy server for local addresses.
IWebProxy proxyObject = new WebProxy("http://proxyserver:80",true);
math.Proxy = proxyObject;
// Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8;
// Set the time out to 15 seconds
math.Timeout = 15000;
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()
' Allow the server to redirect the request.
math.AllowAutoRedirect = True
' Set the client-side credentials using the Credentials property.
Dim credentials = New NetworkCredential("Joe", "password", "mydomain")
math.Credentials = credentials
' Set the proxy server to proxyserver, set the port to 80 and specify to bypass
' the proxy server for local addresses.
Dim proxyObject = New WebProxy("http://proxyserver:80", True)
math.Proxy = proxyObject
' Set the encoding to utf-8.
math.RequestEncoding = System.Text.Encoding.UTF8
' Set the time out to 15 seconds.
math.Timeout = 15000
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 dieser Klasse werden verwendet, um das Verhalten des HTTP-Anforderungsobjekts zu steuern, das zum Übertragen der XML-Webdienstanforderung und -antwort verwendet wird. Die Eigenschaften werden eigenschaften zugeordnet, die auf gefunden wurden HttpWebRequest.
Um mit einem XML-Webdienst über HTTP kommunizieren zu können, müssen Sie eine Proxyklasse erstellen, die indirekt oder direkt von HttpWebClientProtocol für den XML-Webdienst abgeleitet wird. Anstatt die Proxyklasse manuell zu erstellen, können Sie das tool Wsdl.exe verwenden, um eine Proxyklasse für die Dienstbeschreibung eines bestimmten XML-Webdiensts zu erstellen.
Da HttpWebClientProtocol die Basisklasse für alle Proxyklassen ist, befinden sich die Eigenschaften in Ihren Proxyklassen. Diese Eigenschaften sind nützlich, um das Anforderungsverhalten des zugrunde liegenden Transports zu steuern. Verwenden Sie beispielsweise die Proxy -Eigenschaft zum Aufrufen von XML-Webdiensten über eine Firewall. Viele dieser Eigenschaften werden verwendet, um die zu initialisieren, die HttpWebRequest die Webanforderung stellt.
SoapHttpClientProtocol, HttpGetClientProtocol, und HttpPostClientProtocol leiten Sie direkt oder indirekt von HttpWebClientProtocol zur Unterstützung von SOAP, HTTP-GET und HTTP-POST bzw.
Konstruktoren
HttpWebClientProtocol() |
Initialisiert eine neue Instanz der HttpWebClientProtocol-Klasse. |
Eigenschaften
AllowAutoRedirect |
Ruft ab oder legt fest, ob der Client automatisch Serverumleitungen folgt. |
CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
ClientCertificates |
Ruft die Auflistung von Clientzertifikaten ab. |
ConnectionGroupName |
Ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest. (Geerbt von WebClientProtocol) |
Container |
Ruft die IContainer ab, die in der Component enthalten ist. (Geerbt von Component) |
CookieContainer |
Ruft die Auflistung der Cookies ab oder legt diese fest. |
Credentials |
Ruft Sicherheitsinformationen für die XML-Webdienst-Clientauthentifizierung ab oder legt diese fest. (Geerbt von WebClientProtocol) |
DesignMode |
Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Geerbt von Component) |
EnableDecompression |
Ruft einen Wert ab, der angibt, ob die Dekomprimierung für dieses HttpWebClientProtocol aktiviert ist, oder legt den Wert fest. |
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. (Geerbt von WebClientProtocol) |
Proxy |
Ruft die Proxyinformationen zum Erstellen einer XML-Webdienstanforderung über einen Firewall ab oder legt sie fest. |
RequestEncoding |
Die Encoding, die für die Clientanforderung an den XML-Webdienst verwendet wird. (Geerbt von WebClientProtocol) |
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). (Geerbt von WebClientProtocol) |
UnsafeAuthenticatedConnectionSharing |
Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Freigabe von Verbindungen aktiviert ist, wenn der Client für die Herstellung einer Verbindung mit dem Webserver, auf dem der XML-Webdienst gespeichert ist, die NTLM-Authentifizierung verwendet. |
Url |
Ruft die Basis-URL des vom Client angeforderten XML-Webdiensts ab oder legt sie fest. (Geerbt von WebClientProtocol) |
UseDefaultCredentials |
Ruft einen Wert ab, der angibt, ob die Credentials-Eigenschaft auf den Wert der DefaultCredentials-Eigenschaft festgelegt werden soll, oder legt diesen fest. (Geerbt von WebClientProtocol) |
UserAgent |
Ruft den mit jeder Anforderung gesendeten Wert für den User-Agent-Header ab oder legt diesen fest. |
Methoden
Abort() |
Bricht eine Anforderung an eine XML-Webdienstmethode ab. (Geerbt von WebClientProtocol) |
CancelAsync(Object) |
Bricht einen asynchronen Aufruf der XML-Webdienstmethode ab, es sei denn, der Aufruf ist bereits abgeschlossen. |
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) |
GenerateXmlMappings(Type, ArrayList) |
Ruft das XmlMembersMapping für jede vom angegeben Typ verfügbar gemachte XML-Webdienstmethode ab und speichert die Zuordnungen in der angegebenen ArrayList. |
GenerateXmlMappings(Type[], ArrayList) |
Ruft das XmlMembersMapping für die einzelnen von den angegebenen Typen verfügbar gemachten XML-Webdienstmethoden ab und speichert die Zuordnungen sowohl in der angegebenen ArrayList als auch in einer von dieser Methode zurückgegebenen Hashtable. |
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 für den angegebenen URI. |
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. |
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. Sie können zwar XML-Webdienstmethoden für dieselbe WebClientProtocol Instanz aus verschiedenen Threads gleichzeitig aufrufen, es erfolgt jedoch keine Synchronisierung, um sicherzustellen, dass eine konsistente Momentaufnahme der Eigenschaften in das WebRequest Objekt übertragen wird. Wenn Sie daher die Eigenschaften ändern und gleichzeitige Methodenaufrufe von verschiedenen Threads ausführen müssen, sollten Sie eine andere Instanz des XML-Webdienstproxys verwenden oder eine eigene Synchronisierung bereitstellen.