帶有 Fluent NHibernate 的 Mono 2.4 上的 ASP.NET MVC 1 和 2
我想使用 ASP.NET MVC 創建一個應用程序,它應該在 mono 2.4 下執行(編譯將在 Windows 機器上完成)。有沒有人得到這個運氣?這是我已經嘗試過的:
- 單聲道上的 ASP.NET MVC,沒有任何持久性模型支持,並使用 naml 作為視圖引擎
- S#aml 架構,恕我直言,這是一個非常好的框架,但它過於依賴於在單聲道下無法正常工作的東西(如 Windsor)
第一部分工作正常,我沒有遇到任何重大問題。但我無法讓第二部分工作。似乎它依賴於
Castle.Windsor打破整個單聲道支持(但也可能有其他部分)。因此我決定創建一個替代框架,它藉鑑了 s#arp-architecture 的一些想法,但設計為在單聲道下工作(如果我能夠做到這一點,我當然會為社區發布它) . 控制器和視圖部分工作正常(雖然這裡沒有什麼神奇之處,它們一直在工作),但在開始持久性部分工作之前我有一些問題:
- 哪些 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/
好的。我開始了一個新項目,它將 S#arp 架構中最好的東西與單聲道工作相結合。它使用 ruby 腳本代替 T4Toolkit 來完成生成工作,就像使用 rails 或 merb 一樣。
要使用從 github 安裝 shaml gem:
gem install shaml然後創建一個新應用程序:
shaml generate app AppName並創建資源:
shaml generate resource NewRes "name:string;date:DateTime"S#aml Architecture 項目首頁:http ://shaml.sztupy.hu/
GitHub項目:http: //github.com/sztupy/shaml/tree/master
我正在使用 mono 2.4 來執行 asp.net mvc app + windows 服務。兼容性非常好。與 Windows 相比,存在一些錯誤和差異,但一旦你了解它們是什麼,它就會變得更容易(一開始可能會很痛苦!)
我正在使用 NHibernate (2.1) FluentNhibernate、StructureMap、NBehave、Moq 和 open id lib,它們似乎都按預期工作。
至於穩定性,因為我已經解決了程式碼中的主要錯誤,所以我沒有遇到任何問題。
可用性,嗯,它是一個完全不同的平台,所以你需要以開放的心態來使用它,並準備好離開 Windows 方式.. 好消息是,一旦你這樣做了,事情就會變得更容易。Apache 比 IIS 好得多,配置和管理 linux 機器也比 windows 容易。
我很高興我選擇了單聲道……抱歉,這聽起來像是一個 PR 驅動器——但我真的很高興!!