HttpWebClientProtocol Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la classe de base pour tous les proxys client de service web XML qui utilisent le protocole de transport 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
- Héritage
- Dérivé
- Attributs
Exemples
L’exemple suivant est un formulaire web ASP.NET, qui appelle un service web XML nommé Math. Dans la EnterBtn_Click fonction, le formulaire web permet au serveur de rediriger automatiquement le client vers d’autres sites. Il définit également les informations d’identification d’authentification du client, les paramètres proxy, l’encodage de la requête et le délai d’attente de la demande avant d’appeler la méthode de service Web 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>
Remarques
Les propriétés de cette classe sont utilisées pour contrôler le comportement de l’objet de requête HTTP utilisé pour transmettre la demande et la réponse du service Web XML. Les propriétés correspondent aux propriétés trouvées sur HttpWebRequest.
Pour communiquer avec un service web XML à l’aide de HTTP, vous devez créer une classe proxy dérivant indirectement ou directement à partir du HttpWebClientProtocol service Web XML. Au lieu de créer manuellement la classe proxy, vous pouvez utiliser l’outil Wsdl.exe pour créer une classe proxy pour une description de service web XML donnée.
Étant donné que HttpWebClientProtocol est la classe de base pour toutes les classes proxy, ses propriétés se trouvent sur vos classes proxy. Ces propriétés sont utiles pour contrôler le comportement de requête du transport sous-jacent. Par exemple, utilisez la Proxy propriété pour appeler des services Web XML via un pare-feu. La plupart de ces propriétés sont utilisées pour initialiser la HttpWebRequest requête Web.
SoapHttpClientProtocol, HttpGetClientProtocolet HttpPostClientProtocol dérivent directement ou indirectement de la prise HttpWebClientProtocol en charge de SOAP, HTTP-GET et HTTP-POST respectivement.
Constructeurs
| Nom | Description |
|---|---|
| HttpWebClientProtocol() |
Initialise une nouvelle instance de la classe HttpWebClientProtocol. |
Propriétés
| Nom | Description |
|---|---|
| AllowAutoRedirect |
Obtient ou définit si le client suit automatiquement les redirections de serveur. |
| CanRaiseEvents |
Obtient une valeur indiquant si le composant peut déclencher un événement. (Hérité de Component) |
| ClientCertificates |
Obtient la collection de certificats clients. |
| ConnectionGroupName |
Obtient ou définit le nom du groupe de connexions pour la demande. (Hérité de WebClientProtocol) |
| Container |
Obtient le IContainer fichier qui contient le Component. (Hérité de Component) |
| CookieContainer |
Obtient ou définit la collection de cookies. |
| Credentials |
Obtient ou définit les informations d’identification de sécurité pour l’authentification du client du service web XML. (Hérité de WebClientProtocol) |
| DesignMode |
Obtient une valeur qui indique si la Component valeur est actuellement en mode création. (Hérité de Component) |
| EnableDecompression |
Obtient ou définit une valeur qui indique si la décompression est activée pour cela HttpWebClientProtocol. |
| Events |
Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component. (Hérité de Component) |
| PreAuthenticate |
Obtient ou définit si la pré-authentification est activée. (Hérité de WebClientProtocol) |
| Proxy |
Obtient ou définit des informations de proxy pour effectuer une demande de service web XML via un pare-feu. |
| RequestEncoding |
Utilisé Encoding pour effectuer la requête cliente au service Web XML. (Hérité de WebClientProtocol) |
| Site |
Obtient ou définit le ISiteComponent. (Hérité de Component) |
| Timeout |
Indique l’heure à laquelle un client de service web XML attend la réponse à une demande de service Web XML synchrone à arriver (en millisecondes). (Hérité de WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Obtient ou définit une valeur qui indique si le partage de connexion est activé lorsque le client utilise l’authentification NTLM pour se connecter au serveur Web qui héberge le service Web XML. |
| Url |
Obtient ou définit l’URL de base du service Web XML demandé par le client. (Hérité de WebClientProtocol) |
| UseDefaultCredentials |
Obtient ou définit une valeur qui indique s’il faut définir la Credentials propriété sur la valeur de la DefaultCredentials propriété. (Hérité de WebClientProtocol) |
| UserAgent |
Obtient ou définit la valeur de l’en-tête de l’agent utilisateur envoyé avec chaque requête. |
Méthodes
| Nom | Description |
|---|---|
| Abort() |
Annule une demande à une méthode de service Web XML. (Hérité de WebClientProtocol) |
| CancelAsync(Object) |
Annule un appel asynchrone à une méthode de service web XML, sauf si l’appel est déjà terminé. |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le Component. (Hérité de Component) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les Component ressources gérées et libère éventuellement les ressources managées. (Hérité de Component) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GenerateXmlMappings(Type, ArrayList) |
Obtient la XmlMembersMapping méthode de service Web XML exposée par le type spécifié et stocke les mappages dans le fichier spécifié ArrayList. |
| GenerateXmlMappings(Type[], ArrayList) |
Obtient la XmlMembersMapping méthode de service Web XML exposée par les types spécifiés et stocke les mappages dans le fichier spécifié ArrayList, ainsi que dans un Hashtable retour de cette méthode. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetService(Type) |
Retourne un objet qui représente un service fourni par le Component ou par son Container. (Hérité de Component) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| GetWebRequest(Uri) |
Crée un WebRequest URI spécifié. |
| GetWebResponse(WebRequest, IAsyncResult) |
Retourne une réponse d’une requête asynchrone à une méthode de service Web XML. |
| GetWebResponse(WebRequest) |
Retourne une réponse d’une requête synchrone à une méthode de service Web XML. |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| ToString() |
Retourne un String nom contenant le nom du Component, le cas échéant. Cette méthode ne doit pas être remplacée. (Hérité de Component) |
Événements
| Nom | Description |
|---|---|
| Disposed |
Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode. (Hérité de Component) |
S’applique à
Cohérence de thread
Les propriétés de cette classe sont copiées dans une nouvelle instance d’un WebRequest objet pour chaque appel de méthode de service Web XML. Bien que vous puissiez appeler des méthodes de service web XML sur la même WebClientProtocol instance à partir de différents threads en même temps, il n’existe aucune synchronisation effectuée pour vous assurer qu’un instantané cohérent des propriétés est transféré vers l’objet WebRequest . Par conséquent, si vous devez modifier les propriétés et effectuer des appels de méthode simultanés à partir de différents threads, vous devez utiliser une autre instance du proxy de service web XML ou fournir votre propre synchronisation.