【问题标题】:ASP.net route is being ignored when I specify certain file extensions当我指定某些文件扩展名时,ASP.net 路由被忽略
【发布时间】:2012-01-31 03:12:39
【问题描述】:

我有一个处理 "{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 网络服务器时一切正常,但是当我在 IIS 中启动该站点时,它只会抛出 404,除非我附加尾部正斜杠。

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

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

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-routing


    【解决方案1】:

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

    【讨论】:

    • 如果你在北卡罗来纳州夏洛特附近的任何地方 - 饮料都在我身上!
    • 花了几个小时寻找这个,只有我试图路由 .jpg 而不是 .exe。感谢您的帮助!
    猜你喜欢
    • 2014-02-14
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    相关资源
    最近更新 更多