web.config中ApiURIs-ISAPI-Integrated-4.0的多个路径

时间:2015-02-16 21:26:21

标签: asp.net asp.net-mvc

我正在使用ASP.NET MVC 4并希望支持URL中的点。所以我将以下配置添加到web.config,与其他Q / A的建议一样:

<system.webServer>
  <handlers>
    <add name="ApiURIs-ISAPI-Integrated-4.0"
     path="/user/*"
     verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
     type="System.Web.Handlers.TransferRequestHandler"
     preCondition="integratedMode,runtimeVersionv4.0" />
  </handlers>
</system.webServer>

现在我想为多个路径启用它,我该怎么办?


我尝试过的事情:

用逗号或分号连接路径,不工作,即

path="/user/*,/event/*"

path="/user/*;/event/*"

如果我为路径添加了更多<add>个标记,则会收到错误消息“无法添加类型为'add'的重复集合条目,并将唯一键属性'name'设置为'ApiURIs-ISAPI-Integrated- 4.0' 。

如果我只是在路径中添加'*',则会导致脚本和css解析出现问题,我还没弄清楚原因。但在调试之前我想先了解是否可以指定多个路径。

1 个答案:

答案 0 :(得分:12)

从我的实验中可以看出,name属性只是一个唯一标识符,因此可以是任何唯一键。 试试这个: -

<system.webServer>
  <handlers>
    <add name="ApiURIs-ISAPI-Integrated-4.0_1"
     path="/user/*"
     verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
     type="System.Web.Handlers.TransferRequestHandler"
     preCondition="integratedMode,runtimeVersionv4.0" />
    <add name="ApiURIs-ISAPI-Integrated-4.0_2"
     path="/event/*"
     verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
     type="System.Web.Handlers.TransferRequestHandler"
     preCondition="integratedMode,runtimeVersionv4.0" />
  </handlers>
</system.webServer>