【发布时间】:2012-02-20 09:51:18
【问题描述】:
我有一个现有的经典 asp /asp mvc 混合应用程序。其中慢慢变得不那么经典的 asp 和更多的 asp mvc。总的来说,这很好用。然而,一个关键点是,当存在与路由 url 匹配的现有文件夹时,mvc 路由会失败。
例如,路径 [siteroot]\account\personaldetails\billing.asp 上有一个现有页面,这通常在 url http://host.com/account/personaldetails/billing 上提供服务。我已经删除了 asp 文件并构建了一个 asp mvc 视图来替换它。
如果帐户文件夹从应用程序中完全删除,我的路由工作正常,但如果帐户文件夹在那里,当我尝试访问新视图时,我会收到 404。我该如何解决这个问题?
【问题讨论】:
-
我相信您配置(启用)路由的方式一定会影响这一点。为了使路由工作,路径必须由 ASP.NET 管道处理 - 我怀疑当帐户文件夹存在时不会发生这种情况。也许,您需要添加特殊条目,以便帐户文件夹下的无扩展路径由 ASP.NET 显式处理,而具有 .asp 的路径由经典 ASP 扩展处理。这可能会对您有所帮助(对于 IIS 6):haacked.com/archive/2010/12/22/…。您还应该发布 IIS 版本以及您如何进行路由等以获得更好的答案!
标签: asp.net-mvc-3 asp-classic routing