2008-11-19 38 views
11

因此,我花了足够的时间使用ASP.NET webforms来知道我宁愿回去做经典的ASP,也不愿意使用它们。但是我很犹豫,直到它变得更成熟时才转向ASP.NET MVC。有没有开源的替代品?ASP.NET MVC的替代品?

我正在寻找的主要事情是很容易学习,并获得原型和运行。如果有任何帮助,我的首选是python“混搭”方法(比如说web.py/SQLAlchemy/无论什么模板引擎适合我当时的幻想)。

+0

出于好奇,你选择了ASP.NET MVC吗? – 2011-06-02 09:41:37

回答

11

过去18个月我们在我们的小企业在线商店中使用了MonoRail RC2。它取代了一个7年传统ASP页面的灾难。 MonoRail RC2对我们运作良好,平均每天处理约14,000个网页请求。它使我能够很快地开发网站,获得免费,并保持良好状态。为此,我感谢MonoRail团队。

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

单轨的一些优点包括以下内容:

  • 这是很容易在那里得到的和修改的东西。例如,默认路由实现在重新路由时不保留查询字符串(我需要这样做以保持向后兼容现在不存在的经典ASP站点为了SEO原因而使用的旧URL格式),并且它不支持发布HTTP 301该场景的永久重定向标头。所以我实现了所有MonoRail接口,将其插入到配置文件中,然后关闭。
  • 它仍然是ASP.NET,所以你仍然可以使用表单认证,总体真棒HTTP/HTTPS Switcher at Codeproject和缓存。
  • 相对较少的惊喜。经过一年多的工作,我没有太多时间在MonoRail诅咒过。这是一个相当不错的试金石测试。一些辅助类(FormHelper)可能会有点奇怪,向导框架完全是奇怪的,而参数绑定有时可能会让你陷入循环,但它并不经常发生。
  • 视图引擎的选择(模板)。我把这个放在这里,因为大多数人似乎认为这里的选择是件好事,尽管我通常认为它不是。

单轨,但也不是没有问题:

  • 发展方向的缺乏。 RC2和RC3之间的变化数量非常可笑;很多受保护的虚拟方法消失了,很多帮助者都改变了(当你的视图引擎没有静态类型时,这是很大的问题),甚至单元测试控制器和视图的机制也改变了。出于这个原因,我们可能会永远留在RC2上。现在ASP.NET MVC已经出来,MonoRail背后的社区会保持多么健康还不清楚(尽管ayende和hammett像以前一样热情和活跃)。作为MonoRail的“事实上的”视图引擎(至少在我们开始开发时),NVelocity是一种很有前途的模板语言,具有不健康的实现和维护前景。 (它是否工作正常?但是作为Java版本中的CTRL + C CTRL + V端口,请不要读取该库的源代码,因为您的眼睛会流血。)
  • NVelocity和RC2随附极其严重线程错误的地方在同一时间访问该网站的多个用户可以获得为另一个用户提供的服务页面。它在最新版本中得到修复(由于Castle项目的发布性质,它很难升级到),并且我们设法解决了这个问题。但是遇到一个非常令人不安和意想不到的问题,在微软框架中很难遇到这个问题。买者自负。

单轨提供了一个极好的机会,让我们在2007年6月通过给我们提供了一种迁移现有网站上的微软堆栈中的方式.NET平台,避免WebForms的(这对于内部网站是伟大的,但在我看来,当您需要在面向公众的Web站点上对HTML输出进行细粒度控制时,这并不是那么好)。 (很好,真正的原因是我只是鄙视WebForms回发模型。)在那个时候,ASP.NET MVC甚至不是微软眼中的一线。

但是,既然ASP.NET MVC确实存在,并且考虑到微软将它定位为WebForms的替代品,我知道我个人会强烈考虑它适用于任何未来的项目。 MonoRail是一个伟大的项目,它为我们提供了很好的服务,并且我非常感谢开源社区,但我认为它是一个使用频率很高,磨损很大的工具,在我的工作台中退出到较低的抽屉。没有它,ASP.NET MVC可能不存在。

0

似乎有趣的一种替代方法是MonoRail,尽管我还没有完全测试它。

1

另一种我没有经验的方法是ProMesh。就我个人而言,我转向ASP.NET MVC。

6

就我个人而言,我已经通过CastleProject尝试ASP.NET MVC和MonoRail。尽管我非常喜欢其他的CastleProject库,但我发现我比ASP.NET Castle MonoRail模型更喜欢ASP.NET MVC实现模型。既然ASP.NET MVC已经发布了他们将包含jQuery的版本,我真的很兴奋。最终,我认为这取决于你使用的其他库。如果您使用NHibernate,ActiveRecord和Castle Windsor,那么您可能会喜欢MonoRail库。如果您不使用任何这些库,或者更喜欢Microsoft企业库(目前是我工作的公司标准),那么您可能会发现ASP.NET MVC更适合您的需求。关注来自Scott Guthrie本人的ASP.NET MVC,我怀疑它很快就会消失。事实上,使用它并签署它的人越多,越赞成成为事实标准的可能性越大。

0

我认为ASP.NET MVC已经够成熟了。

看看你发布你的问题到这个网站。 它完全由它构建。

此外,ASP.NET MVC的建立,使您可以混合和匹配视图引擎,ORM,Javascript框架(尽管我推荐JQuery)以及什么不是你喜欢的。

+0

问题:“ASP.NET MVC的替代品?“ 答案:”ASP.NET MVC“ – 2016-11-12 12:39:32

0

ASP.NET MVC应该以快速成熟的方式开始被接受。现在它已经处于测试阶段,并且据说几乎完整,人们采用它的速度将会继续增长,并且可能会更加剧烈。随着RTM/RTW的发布将在不久的将来发布,现在是开始采用RTM/RTW的最佳时机,这样您就可以随时随地运行了。

如果您在ASP.NET MVC中看到了特定的缺陷,那么您一定要让Microsoft知道它。 Scott Guthrie非常容易接受反馈,MVC Contrib项目既可以接受建议,也可以通过图书馆获得大量增强功能。