使用Fluent NHibernate的Mono 2.4上的ASP.NET MVC 1和2

Szt*_*upY 13 nhibernate asp.net-mvc mono shaml

我想使用ASP.NET MVC创建一个应用程序,它应该在mono 2.4下运行(编译将在Windows机器上完成).有人有运气吗?这是我已经尝试过的:

  1. 单声道上的ASP.NET MVC没有任何持久性模型支持,并使用nhaml作为视图引擎
  2. S#aml架构,这是一个非常好的框架imho,但它太依赖于东西,在单声道下工作不好(如windsor)

第一部分工作正常,我没有遇到任何重大问题.但我无法让第二部分工作.似乎它依赖于Castle.Windsor打破整个单声道支持(但也可能有其他部分).

因此,我决定创建一个替代框架,借用s#arp-architecture的一些想法,但设计为在mono下工作(如果我能够这样做,我将为社区发布它当然) .控制器和视图部分工作正常(尽管这里并没有多大的魔力,它们一直在工作),但在我开始执行持久性部分之前我有一些问题:

  • 什么NHibernate版本在单声道下工作?我听说1.2工作正常.2.0.1/2.1 beta是否在单声道下工作?
  • Fluent.NHibernate和NHibernate.Linq在单声道下工作吗?(对于后者,它似乎需要一些单声道不可用的依赖)
  • 在单声道下对NHibernate的持久性支持有什么好的替代方案吗?

备选问题:

  • 是否有任何框架已经支持mono + persistence + asp.net mvc,或者我是第一个考虑这个的框架?
  • 如果您已经这样做了:您对稳定性/可用性有何看法?

谢谢你的回答

编辑:更新了支持ASP.NET MVC 2的框架:http://shaml.sztupy.hu/

Der*_*ins 9

我使用mono 2.4来运行asp.net mvc app + windows服务.兼容性非常好.有一些错误和差异,而不是与Windows,但一旦你了解它们是什么它变得更容易(一开始可能会有痛苦!)

我正在使用NHibernate(2.1)FluentNhibernate,StructureMap,NBehave,Moq和open id lib,它们似乎都按预期工作.

至于稳定性,因为我已经解决了我的代码中的主要错误,所以我没有遇到任何问题.

可用性,它是一个完全不同的平台,所以你需要以开放的心态来做它,并准备留下窗户的方式..好消息是,一旦你这样做,事情变得更容易.Apache比IIS好很多,配置和管理Linux机箱比Windows更容易.

我很高兴我选择单声道..对不起,这听起来像公关车 - 但我真的很高兴!


Szt*_*upY 4

好的。我开始了一个新项目,该项目融合了 S#arp 架构中最好的东西,可以在单声道上工作。它使用 ruby​​ 脚本代替 T4Toolkit 来完成生成工作,就像使用 Rails 或 merb 一样。

要使用从 github 安装 shaml gem:

gem install shaml
Run Code Online (Sandbox Code Playgroud)

然后创建一个新的应用程序:

shaml generate app AppName
Run Code Online (Sandbox Code Playgroud)

并创建资源:

shaml generate resource NewRes "name:string;date:DateTime"
Run Code Online (Sandbox Code Playgroud)

S#aml 架构项目主页:http://shaml.sztupy.hu/

GitHub项目:http://github.com/sztupy/shaml/tree/master