【发布时间】:2015-10-19 17:31:32
【问题描述】:
我的问题
如何构造一个路由,以便 MVC 拦截经典的 ASP URL 并执行 MVC 操作?
我正在将传统的经典 ASP 应用程序迁移到 MVC,并且需要让 MVC 拦截几个传统的 ASP URL,因为它们是外部访问应用程序的主要端点。但我似乎无法弄清楚如何正确地做到这一点。
我检查了其他几个问题,但没有完全找到我要查找的内容,但也许我今天的搜索结果很差。 This one 特定于区域,但看起来与我的相似,但仍然无法正常工作,this one 是一种可能的解决方法,但我真的更愿意在 MVC 中完全处理这个问题并完全消除遗留文件。
我想做的事
给定:/foo/bar.asp
映射到:/InboundLinks/HandleBar
(一个 URL 将是 GET 请求,但另一个 URL 将是包含一些敏感数据的 POST,因此我需要拦截它们并且 POST 数据仍然可用于 MVC,不确定 301 重定向是否会这样做或不是)
我不想做的事
我根本不想运行经典的 ASP 页面。 (如果这是唯一的解决方法,我愿意让它只做一个 301 重定向到 MVC URL,但就是这样)我希望这些 URL 被 MVC 拦截和处理。我这样说是因为我在这里和其他地方发现的一些问题似乎在这一点上产生了一些混乱。
我已经尝试过的
routes.MapRoute(
name: "LegacyBarUrl",
url: "foo/bar.asp",
defaults: new { controller = "InboundLinks", action = "HandleBar" }
);
但这会返回 404 Not Found 错误。
环境
Visual Studio 2013 在 Windows 7 上以本地开发模式运行。部署将在我无法控制的锁定服务器上部署到 IIS 7,因此不幸的是,无法在服务器上安装 HTTP 模块。域将保持不变。
非常感谢您提供任何帮助/指导/等。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing