HttpWebClientProtocol Osztály

Definíció

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.

Lásd még