2009-06-13 5 views
13

ASP.NET MVC를 사용하는 응용 프로그램을 만들고 싶습니다. 모노 2.4에서 실행해야합니다 (컴파일은 Windows 상자에서 수행됩니다). 누구도 이걸 가지고 행운이 있니? 여기에 내가 이미 시도한 것입니다 : 모든 지속성 모델 지원없이 모노에Fluent NHibernate가있는 Mono 2.4의 ASP.NET MVC 1과 2

  1. ASP.NET MVC를하고, 아주 좋은 프레임 워크 이럴 인 뷰 엔진
  2. S 번호의 자금 세탁 방지 구조로 nhaml 사용하여, 하지만 물건에 너무 많이 달려있어 (윈저처럼) 모노 밑에서 잘 작동하지 않습니다.

첫 번째 부분은 정상적으로 작동했지만 큰 문제는 발생하지 않았습니다. 하지만 두 번째 부분은 작동하지 못했습니다. Castle.Windsor에 대한 의존성이 전체 모노 지원을 깨뜨린 것 같습니다 (그러나 다른 부분도있을 수 있음).

따라서 대안 프레임 워크를 만들려고합니다. # 프레임 아키텍처의 아이디어 중 일부를 빌려 왔지만, 모노로 작업하도록 설계되었습니다 (이 작업을 수행 할 수 있다면, 커뮤니티 물론). 컨트롤러와 뷰 부분 (하지만 여기 많이하지 마술, 그들은 항상 노력하고 있습니다) 잘 작동하지만, 내가 지속성 부분에서 작업을 시작하기 전에 몇 가지 질문이 :

  • 무엇 NHibernate에 버전은 모노에서 작동? 나는 1.2가 잘 작동한다고 들었다. 2.0.1/2.1 베타가 모노로 작동합니까?
  • Fluent.NHibernate와 NHibernate.Linq는 모노로 작동합니까? (후자의 경우 모노에서 사용할 수없는 몇 가지 의존성이 필요합니다)
  • 모노에서 NHibernate에 대한 지속성 지원을위한 좋은 대안이 있습니까?

대체 질문 :

  • 이미 모노 + 지속성 + asp.net MVC 지원이 아니면 내가 이것에 대해 생각하는 첫 번째입니다 어떤 프레임 워크가 있습니까?
  • 이미 수행 한 경우 : 안정성/유용성에 대한 의견은 무엇입니까? ASP.NET MVC 2를 지원하는 프레임 워크를 업데이트 : 답변

    편집에 대한

감사 http://shaml.sztupy.hu/

+0

s # aml, shaml은 무엇입니까? – AnthonyWJones

답변

4

오케이. 나는 S # arp Architecture에서 얻은 최고의 것들을 모노로 통합 한 새로운 프로젝트를 시작했습니다. T4Toolkit 대신 레일이나 머블처럼 루비 스크립트를 사용하여 생성 작업을 수행합니다.

gem install shaml 

그런 다음 새 응용 프로그램 작성 :

shaml generate app AppName 

을 그리고 자원 생성 :

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

S #의 자금 세탁 방지 아키텍처 프로젝트 홈페이지를

은 GitHub의에서 shaml 보석을 설치 사용 : http://shaml.sztupy.hu/

GitHub 프로젝트 : http://github.com/sztupy/shaml/tree/master

+0

그냥 테스트 : 그것은 모노 아래에 컴파일 – SztupY

9

나는 asp.net MVC 응용 프로그램 + 윈도우 서비스를 실행하는 모노 2.4을 사용하고 있습니다. 호환성이 매우 좋습니다. Windows와는 다른 버그와 차이점이 있지만 처음에는 쉽게 이해할 수 있습니다. 처음에는 어려움이있을 수 있습니다.

NHibernate (2.1) FluentNhibernate, StructureMap, NBehave, Moq 및 공개 ID를 사용 중입니다. lib 그리고 그들은 모두 예상대로 작동하는 것 같습니다.

내 코드의 주요 버그를 다듬어 놓은 이후로 안정성에 관해서는 아무런 문제가 없었습니다.

유용성, 완전히 다른 플랫폼이므로 열린 마음으로 와서 창밖을 떠나기 위해 준비해야합니다. 좋은 소식은 한 번 그렇게하면 쉽게 얻을 수 있다는 것입니다. 아파치는 IIS보다 훨씬 좋고 리눅스 박스를 설정하고 관리하는 것이 윈도우보다 쉽습니다.

나는 모노를 선택하게되어 매우 기쁩니다.미안하지만 PR 드라이브처럼 들리기 시작했습니다.하지만 그걸로 정말 행복합니다 !!

+0

AntiForgeryTokens에 문제가 있습니까? 나를 위해 도우미 메서드는 System.Web.UI 네임 스페이스에서 뭔가를 serialize하는 동안 NullPointerException을 throw합니다. Btw. 현재 이것이 내가 만나는 유일한 버그입니다. – SztupY

+0

나는 그들을 시도했다고 말할 수 없다! 많은 사용자 입력을받지 않으므로 전혀 사용하지 않았습니다. –

+0

응용 프로그램 내에서 NHibernate.Linq (2.1에서 새로 추가)를 사용하려고 했습니까? Mono가 아닌 System.Data.Serviecs 및 System.Data.Entity가 필요합니다. 나는 그것을 달리게 할 수 없다. Visual Studio에서 MVC 사이트를 만들고 Apache에 배포하고 있습니다. – mbp