无法将HttpHandler映射到“ path / *”通配符映射
||
因此,我一直试图将http模块映射到MVC3站点的子路径。据我了解,它应该很简单,但是一直没有奏效。该模块的设置如下:
<handlers>
<add name=\"Nancy\" path=\"api/*\" verb=\"*\" type=\"Nancy.Hosting.Aspnet.NancyHttpRequestHandler\" allowPathInfo=\"true\" />
</handlers>
iis6的匹配部分也在那里,因此我可以在webdev.webserver下运行它。但是,无论测试部署到我的本地iis7(在Win7下)还是使用webdev.webserver进行测试,只有/ api实际上会调用该处理程序。如果我调用/ api / {anything},它只会返回404。
我确定我只是\“做错了(tm)\”,但是任何帮助将不胜感激。
注意:我还尝试了其他几种配置,包括使用标签,创建/ api文件夹以及使用完整的通配符将web.config添加到该文件夹。
没有找到相关结果
已邀请:
3 个回复
朗排谎纷瘟
是在您的nancy处理程序之前列出的所有处理程序。因此,它将在您的处理程序被击中之前起作用。您可以删除处理程序,添加您的处理程序,然后像这样添加回它们:
您可以在IIS7中的“ 3”下选择“ 4”来查看处理程序顺序,它将列出从顶部(第一个)到底部(最后)加载处理程序的顺序。 您的
文件夹中可能需要第二个
同样,这是我通常在网站上处理“ / static”内容的方法。我还没有找到如何规避秒web.config的需要。 编辑 当我也不得不时,我很难弄清楚这一点,似乎我的记忆力还不错。我没有在任何地方指定
处理程序,而是这样的: (仅指定简单的通配符/完全限定的路径来绕过UrlRouting)
然后在我的
文件中设置以下内容:
我的
处理程序列表现在看起来像这样: 可以肯定的是,ѭ12中的任何内容都将通过StaticFileModule提供。这里的技巧似乎是在指定:
。
邪罗逢确胃
这将匹配: / api / {任何内容}
芳菱挨啡