gpt4 book ai didi

asp.net - ASP.NET MVC 路由和经典的 ASP 主页(VBScript,不是 Web 表单)可以很好地协同工作吗?

转载 作者:行者123 更新时间:2023-12-01 11:07:24 28 4
gpt4 key购买 nike

我们站点的根目录中有一个经典的 VBScript“default.asp”页面。 (这是一个沉重的遗留页面,现在不能转换它。)我们还有一个新的 ASP.NET MVC 2 应用程序,我们希望在同一站点上托管。一切实际上都很好地结合在一起!除了一件事:对网站根目录的请求(例如,/)被 MVC 路由(然后想要显示 HomeController 的 Index 操作)接收,而不是让 default.asp 页面接受请求!

这就是我想要的:
http://www.example.com/ <- 应该执行经典的 default.asp 页面,而不是/Home/Index!

我不知道如何执行HomeController.Index()。如果我删除 HomeController,我会收到错误消息。如果我尝试 IgnoreRoute("") 我得到一个错误。我什至更改了此站点 IIS 中“默认文档”的优先级/顺序,将“default.asp”视为首选文档。我什至从根目录中删除了虚拟 MVC“default.aspx”页面,但 MVC 路由仍在“窃取”对站点根目录的请求。

我的临时解决方案是让 HomeController.Index 将用户重定向回“default.asp”。这行得通,但随后它在地址栏中显示得很丑陋并且可见,
http://www.example.com/default.asp <- 不是我想展示的。

关于如何让这两者共存的任何建议/答案?也许我可以在 web.config 中添加一些东西来为主页创建这个特定的异常(exception)?谢谢!

更新

对于延迟回到这个问题,我深表歉意,但它搁置了一段时间,老实说,我几乎忘记了这一点;但是我确实设法使它正常工作!我想感谢 Chris Marisic 和 Chance,因为他们共同帮助我解决了这个问题。

问题确实如此,似乎有一个默认路由(正如 Chance 在评论中所建议的那样)将这些请求捕获到站点根目录。

因此,通过调整它,并添加 routes.IgnoreRoute("");(空字符串)作为我的路由列表中的第一条规则,这现在可以工作了!

谢谢大家的帮助!

最佳答案

这可能不是您想要的,但试试像 ASP Classic Compiler 之类的东西并将其添加到您的家庭 Controller 怎么样

http://aspclassiccompiler.codeplex.com/

问候

伊恩

关于asp.net - ASP.NET MVC 路由和经典的 ASP 主页(VBScript,不是 Web 表单)可以很好地协同工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918065/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com