ASP.NET MVC 1 и 2 на Mono 2.4 с беглым NHibernate - PullRequest
13 голосов
/ 13 июня 2009

Я хотел бы создать приложение с использованием ASP.NET MVC, которое должно работать в режиме моно 2.4 (компиляция будет производиться в Windows). Кому-нибудь повезло с этим? Вот что я уже пробовал:

  1. ASP.NET MVC в режиме моно без поддержки модели персистентности и использования nhaml в качестве движка представления
  2. S # aml архитектура, которая является неплохим фреймворком imho, но слишком сильно зависит от вещей, которые плохо работают под моно (например, windsor)

Первая часть работала нормально, серьезных проблем не возникало. Но я не мог заставить работать вторую часть. Кажется, его зависимость от Castle.Windsor нарушает всю моно поддержку (но могут быть и другие части).

Поэтому я решил создать альтернативную среду, которая заимствует некоторые идеи s # arp-архитектуры, но предназначена для работы в моно (и если я смогу это сделать, я выпущу ее для сообщества конечно). Контроллер и часть представления работают нормально (хотя здесь не так много волшебства, они всегда работали), но у меня есть несколько вопросов, прежде чем я начну работу над частью персистентности:

  • Какие версии NHibernate работают под моно? Я слышал, что 1.2 работает нормально. Работает ли бета 2.0.1 / 2.1 под моно?
  • Работают ли Fluent.NHibernate и NHibernate.Linq в режиме моно? (для последнего кажется, что нужны некоторые зависимости, которые недоступны в моно)
  • Есть ли хорошие альтернативы для постоянной поддержки NHibernate в режиме моно?

Альтернативные вопросы:

  • Существуют ли какие-либо фреймворки, которые уже поддерживают mono + persistence + asp.net mvc, или я первый, кто об этом подумает?
  • Если вы уже сделали это: что вы думаете о стабильности / удобстве использования?

Спасибо за ответы

EDIT: обновлен фреймворк для поддержки ASP.NET MVC 2: http://shaml.sztupy.hu/

Ответы [ 2 ]

9 голосов
/ 14 июня 2009

Я использую mono 2.4 для запуска приложения asp.net mvc + windows. Совместимость очень хорошая. Есть некоторые ошибки и отличия, чем в Windows, но как только вы узнаете, что это такое, становится легче (в начале может быть боль!)

Я использую NHibernate (2.1) FluentNhibernate, StructureMap, NBehave, Moq и open id lib, и все они, похоже, работают должным образом.

Что касается стабильности, так как я исправил основные ошибки в моем коде, то у меня не было никаких проблем.

Юзабилити, ну, это совершенно другая платформа, так что вам нужно подойти к ней непредвзято и быть готовым оставить за окном путь ... хорошая новость в том, что, как только вы это сделаете, все станет проще. Apache намного лучше, чем IIS, а настройка и управление Linux-боксом проще, чем windows.

Я очень рад, что выбрал моно .. извините, это начинает звучать как пиар-драйв - но я просто очень доволен этим !!

4 голосов
/ 18 июня 2009

Хорошо. Я начал новый проект, который включает в себя лучшее из S # arp Architecture и другие вещи, которые работают на моно. Вместо T4Toolkit для генерации используется скрипт ruby, как с rails или merb.

Чтобы установить gem shaml из github:

gem install shaml

Затем создайте новое приложение:

shaml generate app AppName

И создать ресурсы:

shaml generate resource NewRes "name:string;date:DateTime"

S # aml Домашняя страница проекта архитектуры: http://shaml.sztupy.hu/

Проект GitHub: http://github.com/sztupy/shaml/tree/master

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...