2011-12-15 3 views
5

ASP.NET Webform에서 MVC 로의 변환이 거의 불가능하다는 질문과 기사를 많이 읽었습니다. 그러나 나는 라고 생각하며 내 시나리오가 다릅니다.ASP.NET WebForms에서 MVC로 마이그레이션

1 년 전 Webforms에서 어리석게도 프로젝트 작업을 시작했지만, 내가 취한 접근 방식은 매우 MVC와 같습니다. 양식 유효성 검사를 비활성화하고 포스트 백을 사용하지 않으며 URL 재 작성을 사용하고 모든 페이지 변경은 ContentPlaceHolders의 페이지 내용을로드하는 AJAX 요청입니다 (작은 해킹을 사용하여 RenderControl 메서드를 재정의 함). 또한 웹 사이트에서 참조되는 별도의 프로젝트에서 내 ORM 및 RESTful 서비스 API를 사용했습니다.

이제 시스템이 잘 작동하고, 페이지가 부분적으로 새로 고쳐지고 URL이 변경되어 ajax 호출이 수행 될 때 페이지가 새로 고쳐질 때 정확히 동일하게 보입니다.

이제 새로운 큰 프로젝트를 위해 MVC를 배워야한다는 말을 들었습니다. (하지만 다른 프로젝트를 먼저 끝내야 만합니다.) 그러나 주제에 대해 조금 읽었고 몇 가지 Hello World를 시작했습니다. ASP.NET MVC에 대한 아이디어는 이미 내가 만든 것입니다.

StackOverflow는 Webforms 응용 프로그램을 MVC로 변환하지 않는 것이 좋습니다. 모범 사례 외에도 MVC로 변환 할 때의 다른 이점이 있습니까?

+0

WebForm을 MVC로 "변환"할 수는 있지만 프로세스에는 많은 복사/붙여 넣기/다시 작성이 필요합니다. – jrummell

+0

"MVC로 전환 할 때 가장 좋은 점 외에 다른 이점이 있습니까?"라는 질문이 내게 들려왔다. 이 질문의 나머지 부분에서 콩의 전체 수 있습니다. –

+5

큰 효과가있는 경우 다시 작성하지 마십시오. – Erix

답변

3

저는 매우 크고 오래된 ASP.NET WebForms 응용 프로그램 (원래 .NET 1.1 용으로 작성되었습니다!)을 가지고 있으며 MVC가 함께 작동하도록했습니다. 필자는 MVC를 사용하여 새로운 기능을 작성하고 이전 WebForm 기능을 MVC 컨트롤러 및 뷰로 변환했습니다.

URL 권한 부여 및 IIS 통합 모드에서 실행과 관련된 몇 가지 작은 문제가 발생했지만 문제를 이해하면 상당히 쉽게 해결할 수있었습니다. 거의 불가능한가요? 확실히!

응용 프로그램의 크기, 범위 또는 특성 또는 비즈니스 제약 사항을 알지 못하기 때문에 변환 할 가치가 있는지 말할 수 없습니다. 그러나 MVC로 옮기는 것은 개발 및 품질을 쉽게하기위한 상당한 이점이었습니다 (구획화 및 단위 테스트가 더 쉽기 때문에). 말할 것도없이, MVC에서 작성 (또는 다시 작성) 한 기능은 WebForms 도구보다 훨씬 빠르고, 빠르고 반응이 좋습니다.

MVC v2에서 v3으로 이동하여 Razor보기로 변환하게되어 기쁩니다. 나도 그럴거야? 나는 너라면 내가 시간이 있었으면 해.

내가 게시 한 질문은 전환 과정에서 중대한 문제 중 하나와 프로세스를 요약 한 것입니다. Migrating legacy ASP.NET to MVC 2 (RC): HttpApplication events not firing, User principal is null

+0

이 프로젝트는 내 경력의 가장 큰 학습 곡선이었던 매우 큰 네트워크 인 개인 프로젝트입니다. 직장에서 배운 모든 것, 나는 집으로 돌아가서이 프로젝트를 더 잘 구현하거나 구현하기 위해 다시 디자인했습니다. 기한이 없어서 시간도 문제가되지 않으며 돈도받지 않습니다. 한 가지! (한 번!) 내가 여기에 도움이되는 것 같아요. 휠을 다시 쓰는 것을 좋아한다는 것입니다. 그래서 자신 만의 ORM (이 모델이 될까요?), UserControls (뷰와 컨트롤러), Login/가입 프레임 워크, RESTful API 프레임 워크. – Connell

+1

MVC와 함께 일하는 것을 즐거워 할 것입니다. 그것은 심각하게 돌풍이다. 나는 처음부터 WebForms를 싫어했지만 (ASP.NET의 아키텍처는 정말 좋아), 나는 "바퀴를 다시 발명"한다는 것에 대해 느끼고 있습니다. – HackedByChinese

3

최근 중간 크기 프로젝트를 WebForms에서 MVC로 변환했습니다. 첫 번째 MVC 프로젝트에서이 작업을 수행하는 것을 권장하지는 않지만, 일단 MVC 프로젝트에 익숙해지면 WebForms 애플리케이션을 MVC로 변환하는 것을 막을 수는 없습니다.

가장 큰 이점 중 하나는 입니다.입니다. viewstate, 데이터 바인딩 및 웹 제어 기능을 없애면 더 빨리 끝내게됩니다.

물론 생성 된 html에 대한 테스트 가능성 및 완전한 제어와 같은 더 나은 이점이 있습니다.

WebForms와 MVC는 동일한 기본 ASP.NET 플랫폼을 공유하므로 실제로 읽지 못하는만큼 호환되지 않습니다.

+0

생성 된 HTML에 대한 완전한 사용자 제어가 유용 할 것입니다. 나는'override string ClientID {get {return ID; }}'내 UserControls! – Connell

관련 문제