0

好的,我现在感觉像个 nincompoop 一样问这个。

我写了一个简单的空白HttpHandler,只是在方法中放了一个断点ProcessRequest,然后在我的 web.config 中写了这个样板注册标记。

<system.web>
    <httpHandlers>
      <add path = "*.jpg" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.jpeg" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.png" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.bmp" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.gif" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.ico" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path = "*.css" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false"  />
      <add path = "*.js" verb = "*" type="MyProject.BaseServices.StaticAssetHttpHandler, MyProject.BaseServices" validate = "false" />
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
4

2 回答 2

1

我发现了问题。我在 MVC 项目的 Views 文件夹中的 Web.config 中创建了条目。显然,我试图使用 my 服务的资产HttpHandler不在 Views 文件夹中。

我将条目移动到项目的根 Web.config 并开始工作。

于 2013-03-18T10:39:31.757 回答
0

这将取决于您正在运行的 Web 服务器以及您安装的内容。如果您右键单击您的项目和属性并选择“Web”选项卡,您将看到“使用 Visual Studio 开发服务器”或“使用本地 IIS 服务器”的单选按钮以及 IIS Express 的复选框(这是项目的默认设置)在我和我同事的机器上)。

如果您使用 Visual Studio 开发服务器,您的配置应该可以工作。如果正在使用 IIS Express,则需要在不同的位置注册处理程序,并稍微更改属性(删除validate和添加name

<system.webServer>
  <handlers>
    <add name="StaticJS" path = "*.js" verb = "*" type="AspNetWebFormsApplication.StaticAssetHttpHandler, AspNetWebFormsApplication"  />
  </handlers>
  ....
</system.webServer>
于 2013-03-12T19:37:31.240 回答