Asp.net mvc 4 在IIS7上使用MVC路由的经典ASP

Asp.net mvc 4 在IIS7上使用MVC路由的经典ASP,asp.net-mvc-4,asp-classic,iis-7.5,asp.net-mvc-routing,Asp.net Mvc 4,Asp Classic,Iis 7.5,Asp.net Mvc Routing,服用后,我发现了一些有趣的东西 对页面的直接访问(即/OLD/ASP/myFile.ASP)可以正常工作(当然,不会,但它会返回一个合理的ASP错误;) 但是,尝试路由页面,例如: routes.MapPageRoute( "OldASP", "Page/{*id}", "~/OLD/ASP/myFile.asp", false, new RouteValueDictionary(), new Rou

服用后,我发现了一些有趣的东西

对页面的直接访问(即
/OLD/ASP/myFile.ASP
)可以正常工作(当然,不会,但它会返回一个合理的ASP错误;)

但是,尝试路由页面,例如:

routes.MapPageRoute(
        "OldASP",
        "Page/{*id}",
        "~/OLD/ASP/myFile.asp",
        false,
        new RouteValueDictionary(),
        new RouteValueDictionary(new { @id = @"\d+" })
    );
返回圣殿
没有为扩展名“.asp”注册的生成提供程序。
错误(如上文所述,该错误最初是针对直接访问而解决的)


如何保持路由和ASP?(尝试无效)

如果您可以在.net mvc项目中使用经典ASP页面,我会感到惊讶。您当然可以在同一网站中使用.aspx和.asp页面

您最好的选择可能是使用web.config和重写模块

需要注意的一点是,如果您使用的是asp.net MVC,那么web.config和MVC自己的路由系统之间可能存在冲突

看看这个问题

如果您有一个经典的ASP应用程序,并且希望使用MVC路由,您可以尝试为“漂亮的URL”创建自己的路由器。其思想是使用IIS错误404处理程序来解析nice URL。
我的项目(VBScript和JScript)完全用经典ASP编写,带有“漂亮的URL”和自定义路由器。勾选此项:

虽然给定的链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,链接可能会变得无效。