Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

DefaultHttpHandler, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Représente les propriétés et les méthodes d'un gestionnaire HTTP par défaut.

Espace de noms : System.Web
Assembly : System.Web (dans system.web.dll)

public class DefaultHttpHandler : IHttpAsyncHandler, IHttpHandler
public class DefaultHttpHandler implements IHttpAsyncHandler, IHttpHandler
public class DefaultHttpHandler implements IHttpAsyncHandler, IHttpHandler

Un objet DefaultHttpHandler intercepte des requêtes entrantes dans le pipeline HTTP lorsque l'interception des demandes a été configurée par le biais de Microsoft Internet Information Services (IIS) version 6.0 et lorsque aucune liaison httpHandlers explicite ne s'applique à l'extension demandée.

L'interception des demandes peut être configurée par le biais de la fonction de mappage d'application générique introduite dans IIS 6.0. Pour plus d'informations, consultez MSDN Library pour obtenir des informations sur l'utilisation du mappage d'application générique en vue de remapper une URL.

La classe DefaultHttpHandler implémente l'interface IHttpAsyncHandler pour fournir un traitement asynchrone des demandes. Pour obtenir des informations générales sur l'utilisation des gestionnaires HTTP, consultez Traitement ASP.NET personnalisé avec les gestionnaires HTTP. Par ailleurs, pour plus d'informations :

Les classes peuvent dériver de la classe DefaultHttpHandler pour fournir une gestion personnalisée des demandes. Un gestionnaire HTTP asynchrone dérivé du DefaultHttpHandler peut substituer la méthode BeginProcessRequest pour changer le mode de traitement des demandes.

Un DefaultHttpHandler n'utilise pas d'erreurs ASP.NET. Un contenu existant qui utilise des erreurs IIS ou un mécanisme de gestion des erreurs personnalisé ISAPI propriétaire resterait inchangé.

L'exemple de code suivant montre comment implémenter un gestionnaire HTTP personnalisé par une dérivation de la classe DefaultHttpHandler.

public class AsyncDefaultHttpHandler : DefaultHttpHandler
{
    private HttpContext _context;

    public override IAsyncResult BeginProcessRequest(
      HttpContext context, AsyncCallback callback, object state)
    {
        AsyncResultSample ar = new AsyncResultSample(callback, state);
        _context = context;

        return ar;
    }

    public override void EndProcessRequest(IAsyncResult result)
    {
        _context.Response.Write("EndProcessRequest called.");
    }

    // This method should not be called asynchronously.
    public override void ProcessRequest(HttpContext context)
    {
        throw new InvalidOperationException(
                  "Asynchronous processing failed.");
    }

    // Enables pooling when set to true
    public override bool IsReusable
    {
        get { return true; }
    }
}

// Tracks state between the begin and end calls.
class AsyncResultSample : IAsyncResult
{
    private AsyncCallback callback = null;
    private Object asyncState;
    private Boolean isCompleted;

    internal AsyncResultSample(AsyncCallback cb, Object state)
    {
        this.callback = cb;
        asyncState = state;
        isCompleted = false;
    }

    public object AsyncState
    {
        get
        {
            return asyncState;
        }
    }

    public bool CompletedSynchronously
    {
        get
        {
            return false;
        }
    }

    public WaitHandle AsyncWaitHandle
    {
        get
        {
            throw new InvalidOperationException(
                      "ASP.NET should not use this property .");
        }
    }

    public bool IsCompleted
    {
        get
        {
            return isCompleted;
        }
    }

    internal void SetCompleted()
    {
        isCompleted = true;
        if (callback != null)
        {
            callback(this);
        }
    }

}

  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal.
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal.

System.Object
  System.Web.DefaultHttpHandler

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft