Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

DefaultHttpHandler-Klasse

Stellt die Eigenschaften und Methoden eines HTTP-Standardhandlers dar.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

public class DefaultHttpHandler : IHttpAsyncHandler, IHttpHandler
public class DefaultHttpHandler implements IHttpAsyncHandler, IHttpHandler
public class DefaultHttpHandler implements IHttpAsyncHandler, IHttpHandler
Nicht zutreffend.

Ein DefaultHttpHandler-Objekt fängt eingehende Anforderungen in der HTTP-Pipeline ab, wenn sowohl das Abfangen von Anforderungen über die Microsoft Internetinformationsdienste (IIS), Version 6.0, konfiguriert wurden als auch keine expliziten httpHandlers-Bindungen für die angeforderte Erweiterung gelten.

Das Abfangen von Anforderungen kann über das in IIS 6.0 eingeführte Feature für die unterschiedslose Zuordnung von Anwendungen eingerichtet werden. Weitere Informationen zum Verwenden der unterschiedslosen Zuordnung von Anwendungen, wodurch ein URL neu zugewiesen wird, finden Sie in der MSDN Library.

Zum Bereitstellen der asynchronen Anforderungsverarbeitung implementiert die DefaultHttpHandler-Klasse die IHttpAsyncHandler-Schnittstelle. Allgemeine Informationen über HTTP-Handler finden Sie unter Benutzerdefinierte ASP.NET-Verarbeitung mit HTTP-Handlern. Darüber hinaus können Sie weitere Informationen abrufen, indem Sie den unten genannten Hyperlinks folgen:

Um die benutzerdefinierte Behandlung von Anforderungen zu ermöglichen, können Klassen von der DefaultHttpHandler-Klasse abgeleitet werden. Ein asynchroner HTTP-Handler, der von der DefaultHttpHandler-Klasse abgeleitet ist, kann die BeginProcessRequest-Methode überschreiben, um die Art und Weise der Anforderungsverarbeitung zu ändern.

DefaultHttpHandler verwenden ASP.NET-Fehler nicht. Vorhandener Inhalt, der IIS-Fehler verwendet, oder ein proprietärer benutzerdefinierter ISAPI-Fehlermechanismus würden unverändert funktionieren.

Im folgenden Codebeispiel wird veranschaulicht, wie ein benutzerdefinierter HTTP-Handler durch Ableitung von der DefaultHttpHandler-Klasse implementiert wird.

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  für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal.
  • AspNetHostingPermission  für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal.

System.Object
  System.Web.DefaultHttpHandler

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen: