2010-06-23 5 views
3

현재 웹 개발을 위해 ASP.NET Webform과 레거시 ASP 페이지를 함께 사용하는 회사에서 근무하고 있습니다. 이것은 현재의 프로젝트에서 꽤 잘 작동하지만, 대부분의 코드베이스가 폼 요소를 저장 프로 시저 매개 변수로 연결하는 것으로 구성되어 있기 때문에 ASP.NET MVC로 전환하도록 설득/제안하고 싶습니다. ORM을 사용하는 것만으로도 가능하지만이 기회를 사용하여 MVC 프레임 워크로 전환하는 것이 좋습니다.기본 ASP 및 ASP.NET Webform을 ASP.NET MVC로 변환

그러나 코드베이스가 업데이트되는 동안 ASP.NET ASP.NET 및 Classic ASP 코드를 따라 ASP.NET MVC 응용 프로그램을 배포하는 것이 얼마나 쉬운 지 잘 모르겠습니다. 먼저 이것이 가능한지 물어보고 싶습니다. Webforms와 함께 Classic ASP 및 ASP.NET MVC를 사용하여 ASP.NET을 실행하는 스레드를 보았지만 동일한 응용 프로그램에서 모두 3 개가 아닙니다. 현재 Webforms와 Classic ASP가 함께 작동하므로 관련된 관련 함정이 이미 해결되었습니다. 둘째, 새로운 프레임 워크를 배우고 기존 코드를 변환하는 것이 장기적으로 가치가 있음을 팀의 나머지 팀원에게 확신시키는 데 도움이되는 강력한 판매 포인트는 무엇입니까?

+0

참조 http://stackoverflow.com/questions/539123/migrating-classic-asp-webforms-or-asp-net-mvc - 아마도 중복되지는 않지만 도움이 될 수 있습니다. – ChrisF

+0

제게는 MVC가 웹폼보다 항상 관심사를 분리하는 것이 큰 도움이되었습니다. –

답변

1

Asp.net Mvc뿐만 아니라 부분적으로 표준 Asp.net 인 사이트를 실행할 수도 있습니다. 고전적인 ASP에 관해서는, 나는 그것을 해 본 적이 없지만 그것이 표준 Asp.NET과 함께 실행된다면 MVC는 문제가되지 않을 것이라고 생각합니다.

이유는 고전 ASP가 시장에서 바람직한 기술이 아니라고 상기시켜줍니다. 어떤 사람들은 항상 변화와 신기술에 저항 할 것입니다. 왜냐하면 오래된 것들이 잘 작동하기 때문입니다. 기술 세트에서 교환하기를 열망하는 개발자를 찾아서 함께 묶으십시오. 그러나 MVC가 애플리케이션에 적합한 지 확인하십시오. 경영진은 왜 오래된 제품이 잘 작동하는지 업그레이드 할 때 왜 큰 시간 투자를해야하는지 궁금해 할 것입니다.

6

나는 이것이 오래된 질문이라는 것을 알고있다. 그러나 나는 같은 배에 타고 있기 때문에 나는 그에게 한 발을 줄 것이라고 생각했다.

지난 12-15 년간 Classic ASP로 작성된 100k + 페이지 사이트가 있습니다. 해킹 된 코드와 달리 잘 구조화되고 복잡하며 효율적이며 버그가 매우 드문 정도로 정교합니다.

지난 3 년 또는 4 년 동안 추가 된 많은 새로운 기능이 ASP.NET에서 구현되었습니다. 이것은 기본 DAL과 비즈니스 로직을 다시 구현해야하며, 새로운 제품은 10 년 가까이 걸리지 않고 실행 된 코드만큼 안정적이지 않습니다. 소스 을 서버의에서 꺼내서 눈과 손가락으로 떼어 놓지 않는 것이 좋습니다.

나는 MVC에 처음으로 저항했지만, 나는 그것을 좋아하게되었다. 웹 폼의 모든 기능을 제공하지는 않습니다. 쉽게 패키징되고 재배포 가능한 사용자 컨트롤은 정말 그리워요. 웹 개발보다 훨씬 전통적인 앱 개발입니다. 또한 테스트를 작성하는 것이 훨씬 쉽습니다. 나를위한 거대한 판매 포인트입니다.

그래서, 현재 비주얼 스튜디오 솔루션은 다음과 같습니다

  • .NET 클래스 라이브러리 (DAL 등)의 무리
  • 의 이전 코드의 모든 모든을 포함하는 ASP 웹 응용 프로그램 프로젝트 webforms stuff
  • MVC 웹 응용 프로그램 프로젝트.

IIS는 MVC 프로젝트 폴더를 가리키므로 모든 MVC 항목이 예상대로 작동합니다. 웹 사이트 구성에는 마이그레이션되지 않은 모든 ASP 항목에 대한 가상 폴더가 포함됩니다 (몇 년이 걸릴 것입니다). 이러한 가상 디렉터리는 Webforms 및 Classic ASP 코드/개체가 저장되는 MVC 폴더 구조 외부의 폴더를 가리 킵니다. IIS가 요청을 받으면 가상 폴더에 매핑 된 항목이 기존 ASP 또는 웹 폼에 의해 처리되는 반면 다른 모든 항목은 적절한 MVC 영역으로 라우팅됩니다.

나는이 프로젝트를 의도적으로 분리했다. ASP, MVC 및 웹폼이 모두 같은 폴더 구조의 단일 솔루션을 사용하면 광기가 발생하는 확실한 길입니다.

아주 잘 작동하지만 이동 중에는 구성하는 데 약간의 어려움이 있습니다.

예, 세 가지 기술 모두가 동일한 사이트에 기꺼이 존재할 것이지만, 앞서 조직적인 문제가 있습니다.

+0

David, 세션에 대해 어떻게 했습니까? 세션이이 앱에서 어떻게 공유/전송 되나요? –

+0

@CF_Maintainer 저는 90 년대 후반부터 세션 변수를 사용하지 않았습니다. 세션()에서 데이터베이스로 이동 한 다음 직접 처리 할 수 ​​있습니다 (두 앱 모두 필요한 상태 정보를 db에 저장하므로 무엇이든 액세스 할 수 있습니다). –

+0

DAvid, 응답 해 주셔서 감사합니다. 이 고전적인 ASp 애플 리케이션 세션을 무겁게, 따라서 질문을 사용합니다. 나는 거의 웹 작업을하지 않고 벤치에 앉기보다는이 고전적인 ASP 응용 프로그램을 점진적으로 마이그레이션하도록 지정되었습니다. –

관련 문제