ASP.Net 4.0 - 如何从ASHX中访问RouteData?

Lei*_*ers 7 asp.net routes httphandler ashx

我的网站有一个处理器(FileDownload.ashx),处理所有文件下载请求.

我最近将我的站点迁移到ASP.NET 4.0,现在它广泛使用路由.处理页面请求(aspx)时一切正常,但它不能与我的处理程序一起工作 - 我遇到以下错误:

类型'.Handlers.FileDownload'不从'System.Web.UI.Page'继承.

这是有道理的,因为路由仅在页面中实现.

我需要采取哪些步骤才能将路由和我的.ashx一起使用?我希望能够RouteData.Values从路线中提取.

public class FileDownload : IHttpHandler
{
}
Run Code Online (Sandbox Code Playgroud)

Lei*_*ers 4

我最终需要手工制作一个处理程序,但这很容易:http://haacked.com/archive/2009/11/04/routehandler-for-http-handlers.aspx

.Net 4.0 本身不支持 IHttpHandler 的路由处理。