HttpHandler无法正常工作

时间:2014-04-10 19:23:45

标签: asp.net-mvc mapping httphandler

我正在尝试将vid.ly中的FileUpload项目集成到使用Razor引擎的MVC ASP .NET 4框架中的Web应用程序。

我在App_Code下有一个HttpHandler。 Progress.cs

public class Progress : IHttpHandler
{
 ...
}

我在从Globals.asax调用的RegisterRoutes()中添加了这个:

routes.IgnoreRoute("Progress.progress");

并在web.config中的system.web部分添加了这些行:

<httpHandlers>
    <add verb="*" path="*.progress" type="MyNamespace.Progress"/>
</httpHandlers>

当我尝试打开http://localhost:39234/Progress.progress时,我收到HTTP Error 404.0 - Not Found错误,其中包含以下详细信息:

Requested URL      http://localhost:39234/Progress.progress
Physical Path      c:\users\xxxxx\documents\visual studio 2012\Projects\SolutionName\ProjectName\Progress.progress

似乎映射有问题。有没有人知道我错过了什么?

1 个答案:

答案 0 :(得分:0)

我终于弄明白了问题所在。我必须将映射放在system.webServer部分中,格式为:

<add name="Progress" verb="*" path="*.progress" type="MyNamespace.Progress,MyNamespace"/>

或者,将Progress.cs文件的Action Build Path设置为“Content”,以便它不会在MyNamespace.dll中编译