私は MVC4 を使用しており、次のようなリクエストをコントローラーにルーティングする必要があります。
[myapp]/data/fileinfo.xml
設定したルートは次のとおりです。
routes.MapRoute(
name: "Data",
url: "Data/{file}",
defaults: new { controller = "Data", action = "fileinfo"}
);
現在、これは完全に正常に機能し、URL に .xml 拡張子が含まれていない場合は要求を DataController にルーティングしますが、拡張子が使用されるとすぐに、 IIS は(コントローラーにルーティングする代わりに)静的ファイルを提供しようとします。 404 エラーが発生します。
この問題に関する多くの質問/回答をオンラインで読みましたが、試したすべての解決策が失敗しました。
たとえばRouteExistingFiles = true
、RouteCollection を構成するときに使用しようとしまし<modules runAllManagedModulesForAllRequests="true" />
たが、web.config に追加しましたが、役に立ちませんでした。
誰かが私が何を試すべきか、または私が見逃している可能性のあるアイデアを持っているなら、それは大歓迎です. asp.Net 4.5、VS 2012、および IIS 8.0 を使用しています。