我有一个处理"{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/
答案 0 :(得分:5)
检查我对this question的回答,我认为你正在处理同样的问题。您可能需要指定runAllManagedModulesForAllRequests="true"
,或为.exe
文件添加HTTP处理程序,以确保ASP.NET处理.exe文件的请求。如果ASP.NET不处理文件,则不会遵循您的路由。