DefaultHttpHandler Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет свойства и методы обработчика 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
- Наследование
-
DefaultHttpHandler
- Реализации
Примеры
В следующем примере кода показано, как реализовать настраиваемый обработчик HTTP, производный от 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);
}
}
}
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
Комментарии
Объект DefaultHttpHandler перехватывает входящие запросы в конвейере HTTP, если оба перехвата запросов настроены с помощью служб IIS 6.0 и к запрошенным расширениям не применяются явные привязки.
Перехват запросов можно настроить с помощью функции сопоставления приложений с подстановочными знаками, представленной в IIS 6.0.
Класс DefaultHttpHandler реализует IHttpAsyncHandler интерфейс для асинхронной обработки запросов. Общие сведения об обработчиках HTTP см. в разделе Общие сведения о обработчиках HTTP и модулях HTTP. Кроме того, дополнительные сведения см. в следующих статьях:
Сведения о создании асинхронных обработчиков HTTP см. в статье Пошаговое руководство. Создание асинхронного обработчика HTTP.
Сведения о регистрации обработчиков HTTP см. в разделе Практическое руководство. Регистрация обработчиков HTTP.
Классы могут быть производными DefaultHttpHandler от класса , чтобы обеспечить настраиваемую обработку запросов. Асинхронный обработчик HTTP, производный DefaultHttpHandler от , может переопределить BeginProcessRequest метод , чтобы изменить способ обработки запросов.
Не DefaultHttpHandler использует ошибки ASP.NET. Существующее содержимое, использующее ошибки IIS или собственный механизм ошибок ISAPI, будет работать без изменений.
Конструкторы
DefaultHttpHandler() |
Инициализирует новый экземпляр класса DefaultHttpHandler. |
Свойства
Context |
Возвращает контекст, связанный с текущим объектом DefaultHttpHandler. |
ExecuteUrlHeaders |
Возвращает коллекцию заголовков и значений запросов для передачи ее вместе с запросом. |
IsReusable |
Возвращает логическое значение, показывающее, что другой запрос может использовать текущий экземпляр класса DefaultHttpHandler. |
Методы
BeginProcessRequest(HttpContext, AsyncCallback, Object) |
Запускает асинхронный вызов обработчика НТТР. |
EndProcessRequest(IAsyncResult) |
Предоставляет метод "End" для асинхронного процесса. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnExecuteUrlPreconditionFailure() |
Вызывается, когда предварительные условия препятствуют обработке запроса объектом DefaultHttpHandler. |
OverrideExecuteUrlPath() |
Переопределяет целевой URL-адрес для текущего запроса. |
ProcessRequest(HttpContext) |
Включает объект DefaultHttpHandler для обработки веб-запросов HTTP. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |