HttpWebClientProtocol Třída

Definice

Představuje základní třídu pro všechny klientské proxy webové služby XML, které používají přenosový protokol HTTP.

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
Dědičnost
Odvozené
Atributy

Příklady

Následující příklad je webový formulář ASP.NET, který volá webovou službu XML s názvem Math. EnterBtn_Click Webový formulář v rámci funkce umožňuje serveru automaticky přesměrovat klienta na jiné weby. Nastaví také přihlašovací údaje pro ověřování klienta, nastavení proxy serveru, kódování požadavku a časový limit požadavku před voláním metody webové služby XML.

<%@ 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>
   

Poznámky

Vlastnosti v této třídě se používají k řízení chování objektu požadavku HTTP, který se používá k přenosu požadavku a odpovědi webové služby XML. Vlastnosti jsou namapovat na vlastnosti nalezené v destinaci HttpWebRequest.

Chcete-li komunikovat s webovou službou XML pomocí protokolu HTTP, je nutné vytvořit třídu proxy odvozenou nepřímo nebo přímo z HttpWebClientProtocol webové služby XML. Místo ručního vytváření třídy proxy můžete pomocí nástroje Wsdl.exe vytvořit třídu proxy pro popis služby dané webové služby XML.

Vzhledem k tomu, Že HttpWebClientProtocol je základní třída pro všechny třídy proxy, jeho vlastnosti jsou ve vašich třídách proxy. Tyto vlastnosti jsou užitečné pro řízení chování požadavků základního přenosu. Například použijte Proxy vlastnost pro volání webových služeb XML přes bránu firewall. Mnohé z těchto vlastností se používají k inicializaci objektu HttpWebRequest , který vytvoří webový požadavek.

SoapHttpClientProtocol, HttpGetClientProtocola HttpPostClientProtocol odvozené přímo nebo nepřímo z HttpWebClientProtocol , aby poskytovaly podporu pro PROTOKOL SOAP, HTTP-GET a HTTP-POST v uvedeném pořadí.

Konstruktory

HttpWebClientProtocol()

Inicializuje novou instanci HttpWebClientProtocol třídy .

Vlastnosti

AllowAutoRedirect

Získá nebo nastaví, zda klient automaticky sleduje přesměrování serveru.

CanRaiseEvents

Získá hodnotu označující, zda komponenta může vyvolat událost.

(Zděděno od Component)
ClientCertificates

Získá kolekci klientských certifikátů.

ConnectionGroupName

Získá nebo nastaví název skupiny připojení pro požadavek.

(Zděděno od WebClientProtocol)
Container

Získá objekt IContainer , který obsahuje Component.

(Zděděno od Component)
CookieContainer

Získá nebo nastaví kolekci souborů cookie.

Credentials

Získá nebo nastaví pověření zabezpečení pro ověřování klienta webové služby XML.

(Zděděno od WebClientProtocol)
DesignMode

Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component .

(Zděděno od Component)
EnableDecompression

Získá nebo nastaví hodnotu, která označuje, zda je pro tuto HttpWebClientProtocolfunkci povolena dekomprese.

Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
PreAuthenticate

Získá nebo nastaví, zda předběžné ověřování je povoleno.

(Zděděno od WebClientProtocol)
Proxy

Získá nebo nastaví informace proxy pro vytvoření požadavku webové služby XML přes bránu firewall.

RequestEncoding

Slouží Encoding k provedení požadavku klienta na webovou službu XML.

(Zděděno od WebClientProtocol)
Site

Získá nebo nastaví ISite z Component.

(Zděděno od Component)
Timeout

Označuje čas, kdy klient webové služby XML čeká na odpověď na synchronní požadavek webové služby XML (v milisekundách).

(Zděděno od WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Získá nebo nastaví hodnotu, která označuje, zda sdílení připojení je povoleno, když klient používá ověřování NTLM pro připojení k webovému serveru, který je hostitelem webové služby XML.

Url

Získá nebo nastaví základní adresu URL webové služby XML požaduje klient.

(Zděděno od WebClientProtocol)
UseDefaultCredentials

Získá nebo nastaví hodnotu, která označuje, zda nastavit Credentials vlastnost na hodnotu DefaultCredentials vlastnosti.

(Zděděno od WebClientProtocol)
UserAgent

Získá nebo nastaví hodnotu pro hlavičku uživatelského agenta, která se odešle s každou žádostí.

Metody

Abort()

Zruší požadavek na metodu webové služby XML.

(Zděděno od WebClientProtocol)
CancelAsync(Object)

Zruší asynchronní volání metody webové služby XML, pokud volání již dokončeno.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané nástrojem Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané nástrojem Component a volitelně uvolní spravované prostředky.

(Zděděno od Component)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GenerateXmlMappings(Type, ArrayList)

XmlMembersMapping Získá pro každou metodu webové služby XML vystavenou zadaným typem a uloží mapování v zadaném ArrayListobjektu .

GenerateXmlMappings(Type[], ArrayList)

XmlMembersMapping Získá pro každou metodu webové služby XML vystavené zadanými typy a uloží mapování v zadaném ArrayList, stejně jako v , Hashtable které tato metoda vrátí.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou objektem Component nebo .Container

(Zděděno od Component)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetWebRequest(Uri)

Vytvoří pro WebRequest zadaný identifikátor URI .

GetWebResponse(WebRequest)

Vrátí odpověď ze synchronního požadavku na metodu webové služby XML.

GetWebResponse(WebRequest, IAsyncResult)

Vrátí odpověď z asynchronního požadavku na metodu webové služby XML.

InitializeLifetimeService()
Zastaralé.

Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
ToString()

String Vrátí hodnotu obsahující název , Componentpokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)

Událost

Disposed

Vyvolá se, když je komponenta uvolněna voláním Dispose() metody .

(Zděděno od Component)

Platí pro

Bezpečný přístup z více vláken

Vlastnosti této třídy jsou zkopírovány do nové instance objektu WebRequest pro každé volání metody webové služby XML. I když můžete volat metody webové služby XML na stejné WebClientProtocol instanci z různých vláken současně, není provedena žádná synchronizace, která by zajistila, že konzistentní snímek vlastností bude přenesen do objektu WebRequest . Proto pokud potřebujete upravit vlastnosti a provést souběžná volání metody z různých vláken byste měli použít jinou instanci proxy webové služby XML nebo poskytnout vlastní synchronizaci.

Viz také