여기 상황이 있습니다. 우리는 WebForms를 기반으로하는 웹 응용 프로그램 제품군에 새로운 응용 프로그램을 추가하고 있으므로 MVC를 도입하기에 완벽한시기라고 생각했습니다.기존의 커스텀 컨트롤 라이브러리가있는 WebForms에서 MVC3으로 통합/전환
나는 둘을 혼용하는 것에 관한 모든 연구를했고 프로젝트의 나머지 부분은 MVC 경로를 사용하는 Area
을 사용하여 설정했다. (비주얼 스튜디오) 프로젝트의 나머지 부분은 실행중인 방식으로 웹 양식과 함께 실행된다.
마스터 페이지가 모든 응용 프로그램간에 공유되는 마스터 페이지가 하나뿐이기 때문에 너무 나쁘지 않은 면도기 레이아웃으로 변환되었습니다.
내가 지금까지 실행 한 문제는 사용자 컨트롤을 다시 사용하는 것입니다. 수 많은 사용자 정의 컨트롤이 상당히 복잡하며 모든 응용 프로그램에서 재사용됩니다. 그들 중 대부분 (특히 포팅하기 어려운 것들)은 ViewState와 포스트 백을 통해 상당한 금액을 처리합니다.
MVC에서 이러한 내용을 다시 작성해야하는 경우 한 번만 수행하면 비용이 이상적이지는 않지만 심각하지는 않습니다. 그러나 기존 앱을 유지 보수하고 업데이트해야하기 때문에 완전히 다른 패러다임을 사용하여 동일한 버전의 두 가지 버전을 유지하는 것이 생산성을 크게 떨어 뜨리는 것처럼 보입니다.
실용적인 해결책이 없다고 말하며이 프로젝트에서 MVC로 가고 웹 폼을 고수해야한다는 생각을 포기해야 할 수도 있습니다.하지만 SO 커뮤니티에 무엇이 필요한지에 대한 통찰력이 있는지 알고 싶었습니다. 이 시나리오에서 수행하십시오.
+1 재 작성을위한 예산이없는 경우 MVC의 이점을 얻을 수있는 또 다른 가능성이 있습니다. MVC를 API로 사용할 수 있습니다. 예를 들어 Telerik의 ASP.NET AJAX 컨트롤과 같이 리치 클라이언트 측 API에서 컨트롤을 사용하는 경우 해당 메소드에서 json을 반환하는 컨트롤러를 사용하여 클라이언트 측 데이터 바인딩과 같은 작업을 수행 할 수 있습니다. 필자는 과거에이 방법을 사용하여 코드의 단위 테스트를 개선하고 다운로드 가능한 내보내기 데이터를보다 쉽게 제공 할 수있게했습니다. – Sumo