HttpWebClientProtocol Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.