gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 替代品?

转载 作者:行者123 更新时间:2023-12-02 10:50:07 27 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




所以,我花了足够多的时间使用 ASP.NET webforms 知道我几乎宁愿回去做经典的 ASP 而不是使用它们。但是在 ASP.NET MVC 变得更加成熟之前,我对迁移到 ASP.NET MVC 犹豫不决。有没有开源替代品?

我正在寻找的主要东西是易于学习并且可以启动并运行原型(prototype)的东西。如果有任何帮助,我的主要偏好是 python “混合和匹配”方法(比如 web.py/SQLAlchemy/当时适合我喜欢的任何模板引擎)。

最佳答案

我们用过 MonoRail RC2 适用于我们过去 18 个月的小型企业在线商店。它取代了 7 年前的经典 ASP 页面灾难。 MonoRail RC2 对我们来说效果很好,每天平均处理约 14,000 个页面请求。它使我能够非常快速地开发该站点,而且是免费的,并且运行良好。为此,我要感谢 MonoRail 团队。

我只是使用了 MonoRail 位。我选择了 iBATIS.NET 而不是 ActiveRecord,因为我必须编写创造性的 SQL 来保持与 7 岁的数据库的兼容性。所以我不能代表其他一些城堡图书馆。

MonoRail 的一些优点包括:

  • 进入那里并修改内容非常容易。例如,默认路由实现在重新路由时不保留查询字符串(我需要它来保持与现在不存在的经典 ASP 站点由于 SEO 原因使用的旧 URL 格式的向后兼容性)并且它不支持发出 HTTP 301该场景的永久重定向 header 。所以我实现了任何 MonoRail 接口(interface),将它插入我的配置文件,然后我就走了。
  • 它仍然是 ASP.NET,所以你仍然可以使用表单例份验证,非常棒 HTTP/HTTPS Switcher at Codeproject ,和缓存。
  • 惊喜相对较少。在使用它一年多之后,我对 MonoRail 诅咒的日子已经不多了。这是一个很好的试金石。一些辅助类 (FormHelper) 的行为可能有点奇怪,向导框架非常奇怪,参数绑定(bind)有时会让您陷入循环,但这种情况并不经常发生。
  • View 引擎(模板)的选择。我把它放在这里是因为大多数人似乎认为这里的选择是一件好事,尽管我通常认为它不是。

  • 然而,MonoRail 并非没有问题:
  • 缺乏发展方向。 RC2 和 RC3 之间的变化之多简直荒谬;许多 protected 虚拟方法消失了,许多助手发生了变化(当您的 View 引擎不是静态类型时,这很重要),甚至单元测试 Controller 和 View 的机制也发生了变化。出于这个原因,我们可能会永远留在 RC2 上。现在 ASP.NET MVC 已经过时了,尚不清楚 MonoRail 背后的社区将保持多健康(尽管 ayende 和 hammett 一如既往地热情和活跃)。
  • NVelocity 是 MonoRail 的“事实上的” View 引擎(至少在我们开始开发时),是一种很有前途的模板语言,但其实现和维护前景并不健康。 (它有效吗?足够好。但是作为 Java 版本的 CTRL+C CTRL+V 端口,不要阅读该库的源代码,因为你的眼睛会流血。)
  • NVelocity 和 RC2 附带一个极其严重的线程错误,其中多个用户同时访问该站点可能会获得为另一个用户提供的页面。它在最新版本中得到修复(由于 CaSTLe 项目的发布性质,很难升级到该版本),我们设法解决了它。但这是一个非常令人不安和意想不到的问题,在 Microsoft 框架中极不可能遇到。买者自负。

  • MonoRail 在 2007 年 6 月为我们提供了一个极好的机会,它为我们提供了一种将 Microsoft 堆栈上的现有站点迁移到 .NET 平台的方法,避免了 WebForms(这对于 Intranet 站点非常有用,但在您需要时就不是那么好)在我看来,对面向公众的网站上的 HTML 输出进行细粒度控制)。 (好吧,真正的原因是我只是鄙视 WebForms 回发模型。)在那个时候,ASP.NET MVC 在 Microsoft 眼中甚至还没有出现。

    然而,既然 ASP.NET MVC 确实存在,并且考虑到 Microsoft 将其定位为 WebForms 的替代品,我知道我个人将在 future 的任何项目中强烈考虑它。 MonoRail 是一个伟大的项目,它为我们提供了很好的服务,我很感谢开源社区,但我深情地认为它是一个经常使用的、磨损的工具,它已退役到我工作台的较低抽屉中。没有它,今天的 ASP.NET MVC 可能不存在。

    关于asp.net-mvc - ASP.NET MVC 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/300925/

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