HttpWebClientProtocol Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A HTTP átviteli protokollt használó összes XML Web Service-ügyfélproxy alaposztályát jelöli.
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
- Öröklődés
- Származtatott
- Attribútumok
Példák
Az alábbi példa egy ASP.NET webűrlap, amely meghív egy Math nevű XML-webszolgáltatást. A függvényen belül a EnterBtn_Click webes űrlap lehetővé teszi, hogy a kiszolgáló automatikusan átirányítsa az ügyfelet más webhelyekre. Emellett beállítja az ügyfél-hitelesítési hitelesítő adatokat, a proxybeállításokat, a kérés kódolását és a kérés időtúllépését, mielőtt meghívja az XML-webszolgáltatás metódusát.
<%@ 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>
Megjegyzések
Az osztály tulajdonságai az XML-webszolgáltatás kérésének és válaszának továbbításához használt HTTP-kérelemobjektum viselkedésének szabályozására szolgálnak. A tulajdonságok megfeleltetése a következő webhelyen található tulajdonságokra HttpWebRequest: .
Ha HTTP-vel szeretne kommunikálni egy XML-webszolgáltatással, létre kell hoznia egy proxyosztályt, amely közvetve vagy közvetlenül az XML-webszolgáltatásból származik HttpWebClientProtocol . A proxyosztály manuális létrehozása helyett a Wsdl.exe eszközzel proxyosztályt hozhat létre egy adott XML-webszolgáltatás szolgáltatásleírásához.
Mivel a HttpWebClientProtocol az összes proxyosztály alaposztálya, a tulajdonságai a proxyosztályokon találhatók. Ezek a tulajdonságok a mögöttes átvitel kérési viselkedésének szabályozásához hasznosak. Használja például a tulajdonságot az Proxy XML-webszolgáltatások tűzfalon keresztüli meghívásához. Ezek közül a tulajdonságok közül sok a webes kérést kezdeményező inicializálására HttpWebRequest szolgál.
SoapHttpClientProtocol, HttpGetClientProtocolés HttpPostClientProtocol közvetlenül vagy közvetve HttpWebClientProtocol származik a SOAP, HTTP-GET és HTTP-POST támogatásához.
Konstruktorok
| Name | Description |
|---|---|
| HttpWebClientProtocol() |
Inicializálja a HttpWebClientProtocol osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| AllowAutoRedirect |
Lekérdezi vagy beállítja, hogy az ügyfél automatikusan követi-e a kiszolgáló átirányításait. |
| CanRaiseEvents |
Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni. (Öröklődés forrása Component) |
| ClientCertificates |
Lekéri az ügyféltanúsítványok gyűjteményét. |
| ConnectionGroupName |
Lekéri vagy beállítja a kérés kapcsolatcsoportjának nevét. (Öröklődés forrása WebClientProtocol) |
| Container |
Lekéri a IContainer .Component (Öröklődés forrása Component) |
| CookieContainer |
Lekéri vagy beállítja a cookie-k gyűjtését. |
| Credentials |
Lekéri vagy beállítja a biztonsági hitelesítő adatokat az XML Web Service-ügyfélhitelesítéshez. (Öröklődés forrása WebClientProtocol) |
| DesignMode |
Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e. (Öröklődés forrása Component) |
| EnableDecompression |
Lekéri vagy beállít egy értéket, amely jelzi, hogy engedélyezve van-e a dekompresszió ehhez HttpWebClientProtocola beállításhoz. |
| Events |
Lekéri az ehhez Componentcsatolt eseménykezelők listáját. (Öröklődés forrása Component) |
| PreAuthenticate |
Lekérdezi vagy beállítja, hogy engedélyezve van-e az előzetes hitelesítés. (Öröklődés forrása WebClientProtocol) |
| Proxy |
Lekéri vagy beállítja a proxyadatokat egy XML-webszolgáltatás-kérés tűzfalon keresztüli létrehozásához. |
| RequestEncoding |
Az Encoding ügyfél kérésének az XML-webszolgáltatáshoz való küldéséhez használt. (Öröklődés forrása WebClientProtocol) |
| Site |
Lekéri vagy megadja a ISite értékét a Component-hez. (Öröklődés forrása Component) |
| Timeout |
Azt az időt jelzi, amikor egy XML-webszolgáltatás-ügyfél megvárja a szinkron XML-webszolgáltatás-kérésre adott választ (ezredmásodpercben). (Öröklődés forrása WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Lekéri vagy beállít egy értéket, amely jelzi, hogy engedélyezve van-e a kapcsolatmegosztás, ha az ügyfél NTLM-hitelesítéssel csatlakozik az XML-webszolgáltatást futtató webkiszolgálóhoz. |
| Url |
Lekéri vagy beállítja az ügyfél által kért XML-webszolgáltatás alap URL-címét. (Öröklődés forrása WebClientProtocol) |
| UseDefaultCredentials |
Lekéri vagy beállít egy értéket, amely jelzi, hogy a Credentials tulajdonságot a tulajdonság értékére DefaultCredentials szeretné-e állítani. (Öröklődés forrása WebClientProtocol) |
| UserAgent |
Lekéri vagy beállítja az egyes kérésekkel elküldött felhasználói ügynök fejlécének értékét. |
Metódusok
| Name | Description |
|---|---|
| Abort() |
Megszakítja egy XML-webszolgáltatás-metódusra irányuló kérést. (Öröklődés forrása WebClientProtocol) |
| CancelAsync(Object) |
Megszakítja az XML-webszolgáltatás metódusának aszinkron hívását, kivéve, ha a hívás már befejeződött. |
| CreateObjRef(Type) |
Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt. (Öröklődés forrása MarshalByRefObject) |
| Dispose() |
Felszabadítja a .-hez használt összes erőforrást Component. (Öröklődés forrása Component) |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. (Öröklődés forrása Component) |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GenerateXmlMappings(Type, ArrayList) |
Lekéri a XmlMembersMapping megadott típus által közzétett összes XML-webszolgáltatás-metódust, és a leképezéseket a megadott ArrayListhelyen tárolja. |
| GenerateXmlMappings(Type[], ArrayList) |
Lekéri a XmlMembersMapping megadott típusok által közzétett xml-webszolgáltatás-metódusokat, és tárolja a leképezéseket a megadott ArrayListhelyen, valamint a Hashtable metódus által visszaadott értékben. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetLifetimeService() |
Elavult.
Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot. (Öröklődés forrása MarshalByRefObject) |
| GetService(Type) |
Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli. (Öröklődés forrása Component) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| GetWebRequest(Uri) |
Létrehoz egy adott WebRequest URI-t. |
| GetWebResponse(WebRequest, IAsyncResult) |
Aszinkron kérés válaszát adja vissza egy XML Web Service-metódusnak. |
| GetWebResponse(WebRequest) |
Egy xml-webszolgáltatás-metódusra irányuló szinkron kérés válaszát adja vissza. |
| InitializeLifetimeService() |
Elavult.
Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához. (Öröklődés forrása MarshalByRefObject) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MemberwiseClone(Boolean) |
Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre. (Öröklődés forrása MarshalByRefObject) |
| ToString() |
String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni. (Öröklődés forrása Component) |
esemény
| Name | Description |
|---|---|
| Disposed |
Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() . (Öröklődés forrása Component) |
A következőre érvényes:
Szálbiztonság
Az osztály tulajdonságai minden XML-webszolgáltatás-metódushíváshoz egy objektum új példányába WebRequest lesznek másolva. Bár az XML Web Service metódusait egyszerre hívhatja meg különböző szálakból ugyanazon WebClientProtocol a példányon, nem történik szinkronizálás annak biztosítása érdekében, hogy a tulajdonságok konzisztens pillanatképe átkerüljön az WebRequest objektumba. Ezért ha módosítania kell a tulajdonságokat, és egyidejű metódushívásokat kell kezdeményeznie különböző szálakból, akkor az XML-webszolgáltatás proxyjának egy másik példányát kell használnia, vagy saját szinkronizálást kell biztosítania.