IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez .NET Discussion :

Extension de la classe WebClient pour exposer le Timeout


Sujet :

Contribuez .NET

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Extension de la classe WebClient pour exposer le Timeout


    La classe ExtendedWebClient dérivant de la classe WebClient vous permet de définir un timeout pour tout instance de la classe WebClient (Cette classe ne le permet pas bien qu'elle utilise la classe HttpWebRequest pour télécharger et téléverser des données).



    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    /// <summary>
    /// Classe dérivée de la classe WebClient
    /// </summary>
    public class ExtendedWebClient : WebClient
    {
        #region Fields
     
        private WebRequest request;
     
        #endregion // Fields
     
        #region Properties
     
        /// <summary>
        /// Obtient la durée du timeout
        /// </summary>
        public int Timeout { get; private set; }
     
        /// <summary>
        /// Obtient le container de cookies
        /// </summary>
        public CookieContainer CookieContainer { get; private set; }
     
        #endregion // Properties
     
        #region  Consctuctors
     
        /// <summary>
        /// Constructeur de la classe ExtendedWebClient
        /// </summary>
        /// <param name="timeout">Durée en millisecondes </param>
        public ExtendedWebClient(int timeout)
        {
            this.Timeout = timeout;
            this.CookieContainer = new CookieContainer();
        }
     
        #endregion // Constructors
     
        #region Overriden methods
     
        protected override WebRequest GetWebRequest(Uri address)
        {
            this.request = base.GetWebRequest(address);
     
            // S'il s'agit d'une instance de type HttpWebRequest alors on instancie le container de cookie
            if (this.request is HttpWebRequest)
            {
                (this.request as HttpWebRequest).CookieContainer = this.CookieContainer;
            }
     
            // Si this.Timeout <= 0 alors la valeur par défaut qui sera utilisée.
            this.request.Timeout = this.Timeout <= 0 ? this.request.Timeout : this.Timeout;
            return this.request;
        }
     
        #endregion // Overriden methods
    }
    Dernière modification par Invité ; 09/05/2012 à 12h54.

Discussions similaires

  1. Réponses: 21
    Dernier message: 01/03/2006, 16h51
  2. [débutante]utiliser les classes css pour surligner des liens
    Par Mitaka dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 06/01/2006, 09h37
  3. recherche une classe KZtransImg pour delphi 7
    Par plante20100 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/07/2005, 13h56
  4. Extension d'un reseau existant pour le WIFI
    Par phipamadia dans le forum Développement
    Réponses: 4
    Dernier message: 22/06/2004, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo