DefaultHttpHandler Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje właściwości i metody domyślnej procedury obsługi HTTP.
public ref class DefaultHttpHandler : System::Web::IHttpAsyncHandler
public class DefaultHttpHandler : System.Web.IHttpAsyncHandler
type DefaultHttpHandler = class
interface IHttpAsyncHandler
interface IHttpHandler
Public Class DefaultHttpHandler
Implements IHttpAsyncHandler
- Dziedziczenie
-
DefaultHttpHandler
- Implementuje
Przykłady
W poniższym przykładzie kodu pokazano, jak zaimplementować niestandardową procedurę obsługi HTTP przez wyprowadzenie z DefaultHttpHandler klasy.
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);
}
}
}
Public Class defaulthttpexampleVB
Inherits DefaultHttpHandler
Private _context As HttpContext
Public Overrides Function BeginProcessRequest _
(ByVal context As HttpContext, _
ByVal callback As AsyncCallback, _
ByVal state As Object) As IAsyncResult
Dim ar As New AsyncResultSample(callback, state)
_context = context
Return (ar)
End Function
Public Overrides Sub EndProcessRequest(ByVal result As IAsyncResult)
_context.Response.Write("EndProcessRequest called.")
End Sub
' This method should not be called asynchronously.
Public Overrides Sub ProcessRequest(ByVal context As HttpContext)
Throw New InvalidOperationException _
("Asynchronous processing failed.")
End Sub
' Enables pooling when set to true
Public Overrides ReadOnly Property IsReusable() As Boolean
Get
Return True
End Get
End Property
End Class
' Tracks state between the begin and end calls.
Class AsyncResultSample
Implements IAsyncResult
Private callback As AsyncCallback = Nothing
Private _asyncState As Object
Private _isCompleted As Boolean
Friend Sub New(ByVal cb As AsyncCallback, ByVal state As Object)
Me.callback = cb
_asyncState = state
_isCompleted = False
End Sub
Public ReadOnly Property AsyncState() As Object _
Implements IAsyncResult.AsyncState
Get
Return _asyncState
End Get
End Property
Public ReadOnly Property CompletedSynchronously() _
As Boolean Implements IAsyncResult.CompletedSynchronously
Get
Return False
End Get
End Property
Public ReadOnly Property AsyncWaitHandle() _
As WaitHandle Implements IAsyncResult.AsyncWaitHandle
Get
Throw New InvalidOperationException _
("ASP.NET should not use this property .")
End Get
End Property
Public ReadOnly Property IsCompleted() _
As Boolean Implements IAsyncResult.IsCompleted
Get
Return IsCompleted
End Get
End Property
Friend Sub SetCompleted()
_isCompleted = True
If (callback <> Nothing) Then
callback(Me)
End If
End Sub
End Class
Uwagi
DefaultHttpHandler Obiekt przechwytuje żądania przychodzące w potoku HTTP, gdy oba przechwytywanie żądań zostało skonfigurowane za pośrednictwem usług Internet Information Services (IIS) 6.0 i nie ma jawnych powiązań dotyczących żądanego rozszerzenia.
Przechwytywanie żądań można skonfigurować za pomocą funkcji mapowania aplikacji wieloznacznych wprowadzonych w usługach IIS 6.0.
Klasa DefaultHttpHandler implementuje IHttpAsyncHandler interfejs w celu zapewnienia asynchronicznego przetwarzania żądań. Aby uzyskać ogólne informacje o programach obsługi HTTP, zobacz Http Handlers and HTTP Modules Overview (Omówienie procedur obsługi HTTP i modułów HTTP). Aby uzyskać więcej informacji, zobacz następujące informacje:
Informacje o tworzeniu asynchronicznych procedur obsługi HTTP, zobacz Przewodnik: tworzenie asynchronicznej procedury obsługi HTTP.
Informacje na temat rejestrowania programów obsługi HTTP można znaleźć w temacie Instrukcje: rejestrowanie programów obsługi HTTP.
Klasy mogą pochodzić z klasy w DefaultHttpHandler celu zapewnienia dostosowanej obsługi żądań. Asynchroniczna procedura obsługi HTTP, która pochodzi z DefaultHttpHandler metody , może zastąpić metodę BeginProcessRequest w celu zmiany sposobu przetwarzania żądań.
Element nie DefaultHttpHandler używa błędów ASP.NET. Istniejąca zawartość, która używa błędów usług IIS lub niestandardowego mechanizmu błędów ISAPI, działa bez zmian.
Konstruktory
DefaultHttpHandler() |
Inicjuje nowe wystąpienie klasy DefaultHttpHandler. |
Właściwości
Context |
Pobiera kontekst skojarzony z bieżącym DefaultHttpHandler obiektem. |
ExecuteUrlHeaders |
Pobiera kolekcję nagłówków żądań i wartości żądania do przeniesienia wraz z żądaniem. |
IsReusable |
Pobiera wartość logiczną wskazującą, że inne żądanie może użyć bieżącego DefaultHttpHandler wystąpienia klasy. |
Metody
BeginProcessRequest(HttpContext, AsyncCallback, Object) |
Inicjuje asynchroniczne wywołanie programu obsługi HTTP. |
EndProcessRequest(IAsyncResult) |
Udostępnia metodę końcową dla procesu asynchronicznego. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnExecuteUrlPreconditionFailure() |
Wywoływane, gdy warunki wstępne uniemożliwiają DefaultHttpHandler przetworzenie żądania przez obiekt. |
OverrideExecuteUrlPath() |
Zastępuje docelowy adres URL bieżącego żądania. |
ProcessRequest(HttpContext) |
DefaultHttpHandler Umożliwia obiektowi przetwarzanie żądań sieci Web HTTP. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |