从单轨到 ASP.Net MVC

Posted

技术标签:

【中文标题】从单轨到 ASP.Net MVC【英文标题】:From Monorail to ASP.Net MVC 【发布时间】:2010-09-06 15:40:49 【问题描述】:

上一次我使用 Castle Monorail 开发一个重要的 .Net/C# 应用程序,总的来说,我很享受这次体验。 .Net MVC 的早期访问/预览版本尚不可用。许多“微软商店”现在会发现“官方”解决方案更具吸引力。有没有人从 Monorail 转到 .Net MVC。

您是如何找到开关的? 目前最大的区别是什么?

【问题讨论】:

【参考方案1】:

我已经进行了转换,因为您指出这将是微软商店的首选方式。这个开关非常简单,正如 Mike 指出的那样,它默认附带 webform 视图引擎,但就像 Mike 也说你仍然可以利用你在 MvcContrib 项目中以 brail 和 nvelocity 编写的视图。 ASP.NET MVC,不会将您绑定到直接的 ViewEngine,您可以使用任何您想要的 ViewEngine。我不一定认为这有区别。

我发现最大的不同是将我的控制器和视图分组。在 MonoRail 中,您可以使用 ControllerDetails 属性轻松完成此操作,我可以通过编写自己的代码轻松解决此限制,但希望内置功能。我通过创建自己的 ViewLocator 并创建 ActionFilterAttribute 来做到这一点。

【讨论】:

【参考方案2】:

我是一个单轨用户,到目前为止,由于 ActiveRecord ARSmartDispatchController 内置的便利性,我仍然觉得 MonoRail + ActiveRecord 更舒服。但是不得不说,MonoRail 到目前为止还没有一个好的文档库(我应该被指责为社区参与者之一,他们没有提供足够的帮助来编写文档)

正如我在这里看到的 cmets,ASP.NET MVC 使用 WebForm 视图引擎。我认为 MonoRail 也有,但被指责有很大的问题,所以我想知道 ASP.NET MVC WebForm 的体验如何——你可以大部分使用 Web 表单组件吗?还是你必须基本上放弃大多数并坚持使用更多模板样式的方法(例如

【讨论】:

【参考方案3】:

虽然我还没有进行切换,但我已经在两个平台上进行了开发,并且一直在做一些切换前的分析。

看起来最大的区别是视图引擎。我们的 Monorail 东西使用 Brail 视图引擎,而 asp.net mvc 带有(库存)类似视图引擎的网络表单。不过,MvcContrib 中还有其他视图引擎可以在这方面提供帮助。

另外,ViewComponents 和视图“助手”似乎在这两个框架中的处理方式完全不同。

【讨论】:

【参考方案4】:

幸运的是,我没有为使用 Microsoft 产品的组织工作。所以我可能不会直接回答你的问题,但是在使用 MonoRail 方面,我喜欢框架的每个部分,尽管缺少文档,但测试套件可以指导我完成。

简而言之,我不想花时间学习新框架,尽管它非常匹配(每个都有自己的约定),但是 ASP.NET MVC 仍然缺少一些我已经熟悉的功能,例如 Dale Ragon ControllerDetail 提到的功能, ActiveRecord 等。

【讨论】:

【参考方案5】:

ASP.NET MVC 团队仍在 v1.0 之前进行更改,所以现在是provide feedback 的好时机。

另外,请注意CodePlex 上的发布频率更高,而 www.asp.net 上的主页仍链接到 Preview 3。

【讨论】:

以上是关于从单轨到 ASP.Net MVC的主要内容,如果未能解决你的问题,请参考以下文章

使用 jscript 和控制器操作将数据添加到使用 MVC ASP.net 的数据库

为啥要使用内联编码来开发 MVC ASP.NET?

在 MVC ASP.Net 中将插件添加到部分视图选择列表

如何在 MVC ASP.NET 中的手机号码前添加默认(默认为浏览器国家)国家代码?

配置 antiforgerytoken 单次使用 mvc asp.net

从外部 aspx 网站调用 phonegap smscomposer