当我指定某些文件扩展名时,ASP.net路由被忽略

NTD*_*DLS 2 asp.net-mvc asp.net-mvc-routing

我有一个处理的路线设置"{Object}/{Operation}/{Name}".

如果我发出以下请求,则路由工作正常:( http://localhost/Software/Download/Filenameexe 请注意,如果未指定文件扩展名,则不需要正斜杠).当我发出请求时,请求也会成功:( http://localhost/Software/Download/Filename.exe/ 注意尾随正斜杠).

但是当我发出请求时,我得到了404 :( http://localhost/Software/Download/Filename.exe这次是文件扩展名,没有尾随正斜杠).

使用内置的Visual Studio 2010开发asp.net Web服务器时,一切都运行得很漂亮,但是当我在IIS中启动网站时,它只会抛出404,除非我追加尾随正斜杠.

如何让ASP.net路由引擎不那么挑剔并接受所有示例?

  • http://localhost/Software/Download/Filename.exe
  • http://localhost/Software/Download/Filenameexe
  • http://localhost/Software/Download/Filename.exe/

rsb*_*rro 5

检查我对这个问题的回答,我认为你正在处理同样的问题.您可能需要runAllManagedModulesForAllRequests="true".exe文件指定或添加HTTP处理程序,以确保ASP.NET处理.exe文件的请求.如果ASP.NET不处理文件,则不会遵循您的路由.