25

そのため、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 を追加するなど、他のいくつかの構成も試しました。

4

3 に答える 3

9

UrlRoutingModule-4.0 は、価値があるよりも問題が多いようです。代わりに、MVC3 にルートを無視するように指示しました。完璧な解決策ではありませんが、よりうまく機能するものができるまで、次の方法でこれに固執する必要がありますRegisterRoutes

routes.IgnoreRoute("api/{*route}");
于 2011-05-10T15:43:17.903 に答える