다음을 통해 공유


ASP.NET 웹 서비스를 WCF로 마이그레이션

ASP.NET은 .NET Framework 클래스 라이브러리 및 웹 서비스 빌드를 위한 도구뿐 아니라 인터넷 정보 서비스(IIS) 내 호스팅 서비스에 대한 기능도 제공합니다. WCF(Windows Communication Foundation)는 .NET Framework 클래스 라이브러리, 도구 및 호스팅 기능을 제공하여 소프트웨어 엔터티가 웹 서비스에서 사용하는 프로토콜을 포함하여 모든 프로토콜을 사용하여 통신할 수 있도록 합니다. ASP.NET 웹 서비스를 WCF로 마이그레이션하면 애플리케이션에서 WCF 고유의 새로운 기능 및 향상된 기능을 활용할 수 있습니다.

WCF에는 ASP.NET 웹 서비스와 관련된 몇 가지 중요한 이점이 있습니다. ASP.NET 웹 서비스 도구는 웹 서비스를 빌드하는 데에만 사용할 수 있는 반면, WCF에서는 소프트웨어 엔터티 간 통신을 수행해야 할 경우 사용할 수 있는 도구를 제공합니다. 따라서 여러 소프트웨어 통신 시나리오를 적용하는 데 개발자가 알아야 하는 기술의 수가 적어지기 때문에 결과적으로는 소프트웨어 개발 프로젝트를 완료하는 데 필요한 시간뿐 아니라 소프트웨어 개발 리소스 비용을 줄일 수 있습니다.

웹 서비스 개발 프로젝트의 경우에도 WCF에서는 ASP.NET 웹 서비스보다 더 많은 웹 서비스 프로토콜을 지원합니다. 이러한 추가 프로토콜은 무엇보다도 신뢰할 수 있는 세션 및 트랜잭션이 사용되는 더욱 정교한 솔루션을 제공합니다.

WCF에서는 ASP.NET 웹 서비스보다 더 많은 메시지 전송 프로토콜을 지원합니다. ASP.NET 웹 서비스는 HTTP(Hypertext Transfer Protocol)를 사용하여 메시지 보내기만 지원합니다. WCF는 HTTP뿐 아니라 TCP(Transmission Control Protocol), 명명된 파이프 및 MSMQ(Microsoft Message Queuing)를 사용하여 메시지를 보낼 수 있습니다. 더 중요한 것은 WCF는 추가 전송 프로토콜을 지원할 수 있도록 확장할 수 있다는 점입니다. 따라서 WCF로 개발된 소프트웨어는 여러 다른 소프트웨어와 함께 사용할 수 있으므로 잠재적 투자 수익을 높일 수 있습니다.

WCF에서는 ASP.NET 웹 서비스보다 더 다양한 애플리케이션 배포 및 관리 기능을 제공합니다. ASP.NET에도 있는 구성 시스템 외에도 WCF는 구성 편집기, 보낸 사람에서 받는 사람으로의 활동과 여러 매개체를 통해 다시 추적하는 활동, 추적 뷰어, 메시지 로깅, 방대한 수의 성능 카운터 및 Windows Management Instrumentation에 대한 지원을 제공합니다.

ASP.NET 웹 서비스와 비교하여 WCF의 이러한 이점을 고려한다면 ASP.NET 웹 서비스를 현재 사용하고 있거나 사용 계획 중인 경우 다음과 같은 옵션이 있습니다.

  • WCF에서 제공하는 이점을 고려하지 않고 ASP.NET 웹 서비스를 계속 사용합니다.

  • 나중에 WCF를 채택해 볼 것을 고려하고 ASP.NET 웹 서비스를 계속 사용합니다. 이 섹션의 항목에서는 새로운 ASP.NET 웹 서비스 응용 프로그램을 나중에 WCF 애플리케이션과 함께 사용할 가능성을 최대화하는 방법에 대해 설명합니다. 또한 WCF로 손쉽게 마이그레이션할 수 있도록 새로운 ASP.NET 웹 서비스를 빌드하는 방법에 대해서도 설명합니다. 그러나 서비스 보안이 중요하거나, 신뢰성 또는 트랜잭션 보증이 필요하거나, 사용자 지정 관리 기능을 생성해야 하는 경우 WCF를 채택하는 것이 더 좋습니다. WCF가 바로 이러한 시나리오에 꼭 맞게 디자인되었기 때문입니다.

  • 기존의 ASP.NET 웹 서비스 애플리케이션을 계속 유지 관리하면서 새 개발을 위해 WCF를 채택합니다. 이 선택이 최선의 선택일 가능성이 큽니다. WCF를 사용하기 위해 기존 애플리케이션 수정에 필요한 비용을 절약하면서 WCF의 이점은 누릴 수 있기 때문입니다. 이 시나리오의 경우 새 WCF 애플리케이션은 기존의 ASP.NET 애플리케이션과 함께 사용할 수 있습니다. 새 WCF 애플리케이션은 기존의 ASP.NET 웹 서비스를 사용할 수 있으며, WCF에서 ASP.NET 호환성 모드를 통해 새 작업 기능을 기존의 ASP.NET 애플리케이션에 프로그래밍할 수 있습니다.

  • WCF를 채택하고 기존 ASP.NET 웹 서비스 애플리케이션을 WCF로 마이그레이션합니다. 기존 애플리케이션을 WCF에서 제공하는 기능을 사용하여 향상시키거나 더욱 강력한 새로운 WCF 애플리케이션 내에서 기존 ASP.NET 웹 서비스의 기능을 재현하려는 경우 적합한 선택입니다.

참고 항목

WCF 서비스가 IIS 5.x에서 호스팅될 때 ASP.NET을 제거하는 경우에는 주의해야 합니다. WCF 서비스가 IIS 5.x에서 호스팅될 때 ASP.NET을 제거하는 경우 서비스 코드를 요청할 수 있습니다. IIS 5.x가 실행 중이고 WCF가 제거된 운영 체제에서 ASP.NET을 제거하면 확장자가 .svc인 파일이 텍스트 파일로 간주되어 소스 코드를 포함하여 내용이 요청자에게 반환됩니다.

이 섹션에서는 이러한 옵션에 대해 자세히 설명하고, ASP.NET 웹 서비스를 WCF와 비교하여, ASP.NET 웹 서비스 코드를 WCF로 마이그레이션하는 방법에 대한 지침을 제공합니다.

참고 항목