创建HTTP处理程序

时间:2012-05-23 11:52:50

标签: asp.net-mvc-3 httphandler

任何人都可以告诉我如何创建自定义手册(.ashx)文件。 要求:当请求到我的应用程序获取.pdf时,我想调用该.ashx处理程序。 .ashx处理程序将具有显示文件的逻辑。

我的传入路径是“http://www.domainname.com/Content/PDF/ABC.pdf”。 此URL应由“http://www.domainname.com/Handler.ashx”文件处理。

我想知道如何在我的应用程序中创建,映射和注册处理程序

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您使用ASP.NET MVC,为什么需要HTTPHandler,使用Action方法为您的文件内容提供服务。您可以在Action方法中使用HttpHandler执行大部分操作。您可以根据需要进行操作路由,例如http://domainname.com/content/abc可以返回abc.pdf文件

您不应直接让浏览器访问资源(PDF)。相反,您可以通过action方法进行访问。从请求中读取操作方法中的文件ID / name,然后读取文件并输出。假设您在ResourceController

中有一个类似下面的操作方法
public ActionResult GetFile(string id)
{
   string fullFilePath=somefullpathvariable+"//"+id+".pdf";
   return File(fullFilePath, "application/pdf", Server.UrlEncode(id+".pdf"));
}

现在用户可以像

一样访问它
http://www.yourdomain.com/Resource/awesomemvc

现在,这可以从存储在您服务器中的位置返回名为awesomemvc.pdf的文件,而您的someFullPathVariable保存指向该位置的路径