DefaultHttpHandler 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示默认 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
 
- 实现
 
示例
下面的代码示例演示如何通过派生自 DefaultHttpHandler 类来实现自定义 HTTP 处理程序。
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如果通过 Internet Information Services (IIS) 6.0 配置了两个请求拦截,并且没有显式绑定应用于所请求的扩展,则对象将截获 HTTP 管道中的传入请求。
可以通过 IIS 6.0 中引入的通配符应用程序映射功能设置请求拦截。
类 DefaultHttpHandler 实现 IHttpAsyncHandler 接口以提供异步请求处理。 有关 HTTP 处理程序的一般信息,请参阅 HTTP 处理程序和 HTTP 模块概述。 此外,有关详细信息,请参阅以下内容:
关于创建异步 HTTP 处理程序,请参阅 演练:创建异步 HTTP 处理程序。
关于注册 HTTP 处理程序,请参阅 如何:注册 HTTP 处理程序。
类可以从 类派生 DefaultHttpHandler ,以提供对请求的自定义处理。 派生自 DefaultHttpHandler 的异步 HTTP 处理程序可以重写 方法, BeginProcessRequest 以更改处理请求的方式。
DefaultHttpHandler不使用 ASP.NET 错误。 使用 IIS 错误或正当 ISAPI 自定义错误机制的现有内容将保持不变。
构造函数
| DefaultHttpHandler() | 
		 初始化 DefaultHttpHandler 类的新实例。  | 
        	
属性
| Context | 
		 获取与当前 DefaultHttpHandler 对象关联的上下文。  | 
        	
| ExecuteUrlHeaders | 
		 获取要随请求一起传输的请求标头和请求值的集合。  | 
        	
| IsReusable | 
		 获取一个布尔值,该值指示另一个请求可以使用 DefaultHttpHandler 类的当前实例。  | 
        	
方法
| BeginProcessRequest(HttpContext, AsyncCallback, Object) | 
		 启动对 HTTP 处理程序的异步调用。  | 
        	
| EndProcessRequest(IAsyncResult) | 
		 为异步进程提供一种结束方法。  | 
        	
| Equals(Object) | 
		 确定指定对象是否等于当前对象。 (继承自 Object) | 
        	
| GetHashCode() | 
		 作为默认哈希函数。 (继承自 Object) | 
        	
| GetType() | 
		 获取当前实例的 Type。 (继承自 Object) | 
        	
| MemberwiseClone() | 
		 创建当前 Object 的浅表副本。 (继承自 Object) | 
        	
| OnExecuteUrlPreconditionFailure() | 
		 在前提条件阻止 DefaultHttpHandler 对象处理请求时被调用。  | 
        	
| OverrideExecuteUrlPath() | 
		 重写当前请求的目标 URL。  | 
        	
| ProcessRequest(HttpContext) | 
		 使 DefaultHttpHandler 对象能够处理 HTTP Web 请求。  | 
        	
| ToString() | 
		 返回表示当前对象的字符串。 (继承自 Object) |