우리는 많은 복사본을 가진 추상 asp.net mvc 프로젝트를 가지고 있습니다. 실제로 모든 복사 프로젝트에는 거의 동일한 기능이 있습니다. 그러나 때로는 일부 동작 및 컨트롤러에서 다를 수 있습니다. 또한 모든 복사 프로젝트에는 자체 테마가 있습니다. 하지만 그들은 추상적 인 기본 프로젝트에서 대부분의 자바 스크립트 코드를 공유합니다.Asp.Net MVC 프로젝트의 다중 복사본
이 측면에서 우리는 몇 가지 어려움에 직면 해 왔습니다.
- 먼저 모든 복사 프로젝트가 자체보기를 갖도록 mvc보기를 상속 할 수 없습니다. 기능을 변경하려면 모든 프로젝트 뷰에서이 기능을 구현해야합니다.
- 또한이 접근 방식에서 javascript는 골치 거리입니다. 때로는 자바 스크립트에서 html 계층 구조를 사용해야하기 때문입니다. 그리고 모든 HTML 코드는보기가 다르기 때문에 다릅니다.
- 우리가 새로운 복사 프로젝트를 시작할 때마다, 그것은 우리에게 고통입니다. 왜냐하면 우리는 기초 추상 프로젝트를 고수하려고하기는하지만 기본 프로젝트에서 출발해야하기 때문입니다.
테마 변경과 같은 새로운 프로젝트를 구축 할 수있는 프로젝트 구조가 필요합니다. MEF 구조를 살펴 보았습니다. 복사 프로젝트를 플러그인으로 만들면 어떻게 될지 모르겠습니다. 또한 뷰를 어셈블리 파일에 리소스로 통합하고 싶지 않습니다. 그것은 쉽게 수정할 수 없기 때문입니다. 또한 MVC 테마 구조를 살펴 보았지만 상속받지 못하기 때문에 좋은 해결책이 아닙니다.
당신의 제안은 무엇입니까?
까다로운 문제가 있습니다. Umbraco 나 DotNetNuke와 같은 완전한 CMS 시스템으로 마이그레이션 할 수 있습니까? CMS의 이점은 동일한 IIS 인스턴스에서 호스팅되는 여러 웹 사이트를 지원한다는 것입니다 (그러나이 작업을 수행 할 필요는 없습니다). 기능, 테마 등을위한 플러그인 시스템이 있습니다. 자주 사용하는 뷰를 재사용 가능한 플러그인으로 롤백 할 수 있습니까? – Grubl3r
웹 시스템은 조금 복잡하고 복잡합니다. 나는 CMS 시스템이 그것을 처리 할 수 있다고 생각하지 않는다. 또한 우리는 그것을 많이 수정해야합니다. 내 게시물에서 플러그인 아키텍처에 대해 언급했습니다. 뷰를 플러그인에 넣으면 매번 최종 배포를 컴파일해야합니다. 쉽게 수정할 수는 없습니다. – oruchreis