gpt4 book ai didi

asp.net - 将经典 ASP 和 ASP.NET Web 窗体转换为 ASP.NET MVC

转载 作者:行者123 更新时间:2023-12-01 09:09:16 26 4
gpt4 key购买 nike

我目前在一家公司工作,该公司使用 ASP.NET Webforms 和旧 ASP 页面的组合进行 Web 开发。这对于他们当前的项目来说效果很好,但我想说服/建议他们切换到 ASP.NET MVC,因为他们的大部分代码库都包含将表单元素连接到存储过程参数。仅使用 ORM 也是一种可能,但我认为利用这个机会切换到 MVC 框架是一个好主意。

但是,我不确定在更新代码库时将 ASP.NET MVC 应用程序与 ASP.NET 和经典 ASP 代码一起部署有多容易。 首先,我想问一下这是否可能。我已经看到了有关使用经典 ASP 运行 ASP.NET 和使用 Webforms 运行 ASP.NET MVC 的线程,但不是所有三个都在同一个应用程序中。他们目前有 Webforms 和 Classic ASP 一起工作,因此与之相关的陷阱已经解决。 其次,有哪些强大的卖点可以帮助我说服团队的其他成员,从长远来看,学习新框架和转换现有代码是值得的?

最佳答案

我知道这是一个老问题,但由于我在同一条船上,我想我会试一试。

在过去的 12 到 15 年里,我有一个用 Classic ASP 编写的超过 100k 页的网站。与许多被破解的代码不同,它结构良好、复杂且高效,并且已经改进到非常非常罕见的程度。

过去三四年添加的许多新功能都是在 ASP.NET 中实现的。这需要重新实现许多底层 DAL 和业务逻辑,当然,新的东西永远不会像近十年来顺利运行的代码那样稳定。将源关闭服务器并远离窥探的眼睛和手指也非常非常好。

一开始我反对 MVC,但后来我喜欢上了它。它没有提供 Webforms 的所有功能——我非常非常想念易于打包和可再分发的用户控件——但它比我喜欢的 Web 开发更传统的应用程序开发。编写测试也容易得多 - 对我来说是一个巨大的卖点。

因此,当前的 Visual Studio 解决方案如下所示:

  • 一堆 .NET 类库(DAL 等)
  • 一个包含所有旧代码和所有 Web 表单内容的 ASP Web 应用程序项目
  • 一个 MVC Web 应用程序项目。

IIS 指向 MVC 项目文件夹,因此所有 MVC 内容都按预期工作。网站配置包括所有尚未迁移的 ASP 内容的虚拟文件夹(这将需要数年时间)。这些虚拟目录指向 MVC 文件夹结构之外的文件夹,其中存储了 Webforms 和 Classic ASP 代码/对象。当 IIS 收到请求时,映射到虚拟文件夹的内容由经典 ASP 或 web 表单处理,而其他所有内容都被路由到适当的 MVC 区域。

我有意将这些项目分开;将 ASP、MVC 和 webforms 都放在同一个文件夹结构中的单一解决方案肯定会导致精神错乱。

它工作得很好,但是一开始就配置起来有点痛苦。

所以,是的,所有三种技术都将很高兴地存在于同一个站点中,但是您面临着一些组织挑战。

关于asp.net - 将经典 ASP 和 ASP.NET Web 窗体转换为 ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105241/

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