2012-01-20 4 views
4

모듈을 지원하려면 MVC 3.0 프로젝트가 필요합니다. 모듈이란 모델 뷰와 콘트롤러가 포함 된 별도의 라이브러리를 의미합니다. 그 이유는 여러 응용 프로그램에서 사용할 수있는 응용 프로그램의 재사용 가능한 부분을 갖는 것입니다.MVC 프로젝트 아키텍처 지원 모듈

나에게 가장 좋은 방법은 mvc 응용 프로그램으로 모듈을 사용하는 것입니다. resharper, mvc visual studio addons가 작동하도록하는 것이 가장 좋습니다. Intellisense, Controler Navigation, View 및 Controler 제작 화면 등을 의미합니다. 일반 클래스 라이브러리에서 이러한 클래스를 포함하면 기능이 사라집니다.

"모듈"응용 프로그램에서 내 컨트롤러를 사용하도록 응용 프로그램을 설정하는 것은 매우 간단합니다.

routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
      , new[] { "ModuleApplication1.Controllers" } 
     ); 

문제는 뷰, 컨트롤러가로드하려고하는 것입니다 현재 응용 프로그램에 존재하지 않는,하지만 내 "모듈"응용 프로그램입니다. 더욱 나쁜 것은 뷰가 컴파일되지도 않고 dll에 전혀 포함되지 않는다는 것입니다. 나는 그들을 복사하지 않을 것이다. 나는 그들을 dll에서로드하는 것을 선호한다. 그것이 가능하다면.

나는 MVC를 처음 사용합니다.

나는 뭔가를 놓친가요? 이것에 대한 해결책이 있습니까? 내 접근 방식이 완전히 잘못된 것인가?

답변

2

MvcContrib 휴대용 영역을 사용할 수 있으며이 시나리오에 맞게 설계되었습니다.

+0

면도기 뷰를 지원합니까? – xoyoja

+0

@ xoyoja 예 않습니다 –

+0

휴대용 영역 솔루션을 확인했습니다. 1. 대신 면도기보기/*. cshtml, * .aspx가 아닙니다. 2. 응용 프로그램이 실행되면 N 개의 웹 사이트가 시작되고 '홈'의 '로그온'을 탐색 할 때 다른 사이트로 전환해야하기 때문에 링크가 손실됩니다. 정말 혼란 스럽습니다. – xoyoja