HttpWebClientProtocol Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt de basisklasse voor alle XML-webserviceclientproxy's die gebruikmaken van het HTTP-transportprotocol.
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
- Overname
- Afgeleid
- Kenmerken
Voorbeelden
Het volgende voorbeeld is een ASP.NET webformulier, dat een XML-webservice aanroept met de naam Math. Met het webformulier binnen de EnterBtn_Click functie kan de server de client automatisch omleiden naar andere sites. Ook worden referenties voor clientverificatie, proxyinstellingen, de codering van de aanvraag en de time-out voor de aanvraag ingesteld voordat de XML-webservicemethode wordt aangeroepen.
<%@ 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>
Opmerkingen
De eigenschappen van deze klasse worden gebruikt om het gedrag te bepalen van het HTTP-aanvraagobject dat wordt gebruikt voor het verzenden van de XML-webserviceaanvraag en -reactie. De eigenschappen zijn toegewezen aan eigenschappen die op HttpWebRequest.
Als u wilt communiceren met een XML-webservice met behulp van HTTP, moet u een proxyklasse maken die indirect of rechtstreeks afkomstig is van HttpWebClientProtocol de XML-webservice. In plaats van de proxyklasse handmatig te maken, kunt u het hulpprogramma Wsdl.exe gebruiken om een proxyklasse te maken voor de servicebeschrijving van een bepaalde XML-webservice.
Omdat HttpWebClientProtocol de basisklasse is voor alle proxyklassen, bevinden de eigenschappen zich in uw proxyklassen. Deze eigenschappen zijn handig voor het beheren van het aanvraaggedrag van het onderliggende transport. Gebruik bijvoorbeeld de eigenschap voor het Proxy aanroepen van XML-webservices via een firewall. Veel van deze eigenschappen worden gebruikt om de HttpWebRequest webaanvraag te initialiseren.
SoapHttpClientProtocol, HttpGetClientProtocolen HttpPostClientProtocol rechtstreeks of indirect afgeleid van het verlenen van HttpWebClientProtocol ondersteuning voor SOAP, HTTP-GET en HTTP-POST.
Constructors
| Name | Description |
|---|---|
| HttpWebClientProtocol() |
Initialiseert een nieuw exemplaar van de HttpWebClientProtocol klasse. |
Eigenschappen
| Name | Description |
|---|---|
| AllowAutoRedirect |
Hiermee wordt opgehaald of ingesteld of de client automatisch serveromleidingen volgt. |
| CanRaiseEvents |
Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren. (Overgenomen van Component) |
| ClientCertificates |
Hiermee haalt u de verzameling clientcertificaten op. |
| ConnectionGroupName |
Hiermee haalt u de naam van de verbindingsgroep voor de aanvraag op of stelt u deze in. (Overgenomen van WebClientProtocol) |
| Container |
Hiermee haalt u het IContainer bestand op dat de Component. (Overgenomen van Component) |
| CookieContainer |
Hiermee haalt u de verzameling cookies op of stelt u deze in. |
| Credentials |
Hiermee haalt u beveiligingsreferenties op voor clientverificatie van xml-webservices of stelt u deze in. (Overgenomen van WebClientProtocol) |
| DesignMode |
Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is. (Overgenomen van Component) |
| EnableDecompression |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of decompressie hiervoor is ingeschakeld HttpWebClientProtocol. |
| Events |
Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld. (Overgenomen van Component) |
| PreAuthenticate |
Hiermee haalt u op of stelt u in of verificatie vooraf is ingeschakeld. (Overgenomen van WebClientProtocol) |
| Proxy |
Hiermee haalt u proxygegevens op voor het maken van een XML-webserviceaanvraag via een firewall. |
| RequestEncoding |
Hiermee Encoding wordt de clientaanvraag naar de XML-webservice verzonden. (Overgenomen van WebClientProtocol) |
| Site |
Haalt of stelt de ISite van de Component. (Overgenomen van Component) |
| Timeout |
Geeft de tijd aan waarop een XML-webserviceclient wacht tot het antwoord op een synchrone XML-webserviceaanvraag binnenkomt (in milliseconden). (Overgenomen van WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of delen van verbindingen is ingeschakeld wanneer de client NTLM-verificatie gebruikt om verbinding te maken met de webserver die als host fungeert voor de XML-webservice. |
| Url |
Haalt de basis-URL van de XML-webservice op die de client aanvraagt of stelt deze in. (Overgenomen van WebClientProtocol) |
| UseDefaultCredentials |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Credentials eigenschap moet worden ingesteld op de waarde van de DefaultCredentials eigenschap. (Overgenomen van WebClientProtocol) |
| UserAgent |
Hiermee wordt de waarde opgehaald of ingesteld voor de header van de gebruikersagent die bij elke aanvraag wordt verzonden. |
Methoden
| Name | Description |
|---|---|
| Abort() |
Hiermee annuleert u een aanvraag naar een XML-webservicemethode. (Overgenomen van WebClientProtocol) |
| CancelAsync(Object) |
Annuleert een asynchrone aanroep naar een XML-webservicemethode, tenzij de aanroep al is voltooid. |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| Dispose() |
Alle resources die worden gebruikt door de Component. (Overgenomen van Component) |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij. (Overgenomen van Component) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GenerateXmlMappings(Type, ArrayList) |
Hiermee haalt u de XmlMembersMapping voor elke XML-webservicemethode op die wordt weergegeven door het opgegeven type en worden de toewijzingen opgeslagen in de opgegeven ArrayList. |
| GenerateXmlMappings(Type[], ArrayList) |
Haalt de XmlMembersMapping voor elke XML-webservicemethode op die wordt weergegeven door de opgegeven typen en slaat de toewijzingen op in de opgegeven ArrayList, evenals in een Hashtable methode die door deze methode wordt geretourneerd. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetService(Type) |
Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container. (Overgenomen van Component) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetWebRequest(Uri) |
Hiermee maakt u een WebRequest voor de opgegeven URI. |
| GetWebResponse(WebRequest, IAsyncResult) |
Retourneert een antwoord van een asynchrone aanvraag naar een XML-webservicemethode. |
| GetWebResponse(WebRequest) |
Retourneert een antwoord van een synchrone aanvraag naar een XML-webservicemethode. |
| InitializeLifetimeService() |
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| ToString() |
Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven. (Overgenomen van Component) |
gebeurtenis
| Name | Description |
|---|---|
| Disposed |
Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode. (Overgenomen van Component) |
Van toepassing op
Veiligheid thread
De eigenschappen van deze klasse worden gekopieerd naar een nieuw exemplaar van een object voor elke aanroep van de WebRequest XML-webservicemethode. Hoewel u xml-webservicemethoden op hetzelfde WebClientProtocol exemplaar van verschillende threads tegelijk kunt aanroepen, is er geen synchronisatie uitgevoerd om ervoor te zorgen dat een consistente momentopname van de eigenschappen wordt overgebracht naar het WebRequest object. Als u daarom de eigenschappen wilt wijzigen en gelijktijdige methodeaanroepen wilt maken vanuit verschillende threads, moet u een ander exemplaar van de XML-webserviceproxy gebruiken of uw eigen synchronisatie opgeven.