HttpWebClientProtocol Klass

Definition

Representerar basklassen för alla XML-webbtjänstklientproxy som använder HTTP-transportprotokollet.

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
Arv
Härledda
Attribut

Exempel

Följande exempel är ett ASP.NET webbformulär som anropar en XML-webbtjänst med namnet Math. EnterBtn_Click I funktionen tillåter webbformuläret att servern automatiskt omdirigerar klienten till andra platser. Den anger även autentiseringsuppgifter för klientautentisering, proxyinställningar, begärandekodning och tidsgränsen för begäran innan du anropar XML-webbtjänstmetoden.

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

Kommentarer

Egenskaperna för den här klassen används för att styra beteendet för HTTP-begärandeobjektet som används för att överföra XML-webbtjänstens begäran och svar. Egenskaper mappas till egenskaper som finns på HttpWebRequest.

Om du vill kommunicera med en XML-webbtjänst med HTTP måste du skapa en proxyklass som härleds indirekt eller direkt från HttpWebClientProtocol för XML-webbtjänsten. I stället för att skapa proxyklassen manuellt kan du använda verktyget Wsdl.exe för att skapa en proxyklass för en viss XML-webbtjänsts tjänstbeskrivning.

Eftersom HttpWebClientProtocol är basklassen för alla proxyklasser finns dess egenskaper i dina proxyklasser. Dessa egenskaper är användbara för att styra beteendet för begäran för den underliggande transporten. Använd till exempel Proxy egenskapen för att anropa XML-webbtjänster via en brandvägg. Många av dessa egenskaper används för att initiera HttpWebRequest webbbegäran.

SoapHttpClientProtocol, HttpGetClientProtocoloch HttpPostClientProtocol härled direkt eller indirekt från HttpWebClientProtocol för att tillhandahålla stöd för SOAP, HTTP-GET respektive HTTP-POST.

Konstruktorer

Name Description
HttpWebClientProtocol()

Initierar en ny instans av HttpWebClientProtocol klassen.

Egenskaper

Name Description
AllowAutoRedirect

Hämtar eller anger om klienten automatiskt följer serveromdirigeringar.

CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
ClientCertificates

Hämtar samlingen med klientcertifikat.

ConnectionGroupName

Hämtar eller anger namnet på anslutningsgruppen för begäran.

(Ärvd från WebClientProtocol)
Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
CookieContainer

Hämtar eller anger insamling av cookies.

Credentials

Hämtar eller anger säkerhetsautentiseringsuppgifter för XML-webbtjänstklientautentisering.

(Ärvd från WebClientProtocol)
DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
EnableDecompression

Hämtar eller anger ett värde som anger om dekomprimering är aktiverat för detta HttpWebClientProtocol.

Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
PreAuthenticate

Hämtar eller anger om förautentisering är aktiverat.

(Ärvd från WebClientProtocol)
Proxy

Hämtar eller anger proxyinformation för att göra en XML-webbtjänstbegäran via en brandvägg.

RequestEncoding

Används Encoding för att göra klientbegäran till XML-webbtjänsten.

(Ärvd från WebClientProtocol)
Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
Timeout

Anger den tid då en XML-webbtjänstklient väntar på att svaret på en synkron XML-webbtjänstbegäran ska tas emot (i millisekunder).

(Ärvd från WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Hämtar eller anger ett värde som anger om anslutningsdelning är aktiverat när klienten använder NTLM-autentisering för att ansluta till den webbserver som är värd för XML-webbtjänsten.

Url

Hämtar eller anger bas-URL:en för DEN XML-webbtjänst som klienten begär.

(Ärvd från WebClientProtocol)
UseDefaultCredentials

Hämtar eller anger ett värde som anger om egenskapen ska anges Credentials till egenskapens DefaultCredentials värde.

(Ärvd från WebClientProtocol)
UserAgent

Hämtar eller anger värdet för användaragenthuvudet som skickas med varje begäran.

Metoder

Name Description
Abort()

Avbryter en begäran till en XML-webbtjänstmetod.

(Ärvd från WebClientProtocol)
CancelAsync(Object)

Avbryter ett asynkront anrop till en XML-webbtjänstmetod, såvida inte anropet redan har slutförts.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GenerateXmlMappings(Type, ArrayList)

XmlMembersMapping Hämtar för varje XML-webbtjänstmetod som exponeras av den angivna typen och lagrar mappningarna i den angivna ArrayList.

GenerateXmlMappings(Type[], ArrayList)

XmlMembersMapping Hämtar för varje XML-webbtjänstmetod som exponeras av de angivna typerna och lagrar mappningarna i den angivna ArrayList, samt i en Hashtable som den här metoden returnerar.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetWebRequest(Uri)

Skapar en WebRequest för den angivna URI:n.

GetWebResponse(WebRequest, IAsyncResult)

Returnerar ett svar från en asynkron begäran till en XML-webbtjänstmetod.

GetWebResponse(WebRequest)

Returnerar ett svar från en synkron begäran till en XML-webbtjänstmetod.

InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)

Gäller för

Trådsäkerhet

Egenskaperna för den här klassen kopieras till en ny instans av ett WebRequest objekt för varje XML-webbtjänstmetodanrop. Du kan anropa XML-webbtjänstmetoder på samma WebClientProtocol instans från olika trådar samtidigt, men ingen synkronisering görs för att säkerställa att en konsekvent ögonblicksbild av egenskaperna överförs till WebRequest objektet. Om du behöver ändra egenskaperna och göra samtidiga metodanrop från olika trådar bör du därför använda en annan instans av XML-webbtjänstproxyn eller tillhandahålla en egen synkronisering.

Se även