다음을 통해 공유


Windows Communication Foundation 채택 예상: 이후의 통합을 용이하게 함

현재 ASP.NET을 사용하고 있으며 나중에 WCF를 사용할 계획인 경우에 이 항목에서는 새 ASP.NET 웹 서비스를 WCF 애플리케이션과 함께 사용하는 방법에 대한 지침을 제공합니다.

일반 권장 사항

새로운 서비스를 위해 ASP.NET 2.0을 채택하십시오. 이렇게 하면 새 버전의 개선 사항과 향상된 내용에 접근할 수 있습니다. 그러나 동일한 애플리케이션에서 ASP.NET 2.0 구성 요소를 WCF 구성 요소와 함께 사용할 수도 있습니다.

프로토콜

ASP.NET 2.0의 새 기능을 사용하여 WS-I Basic Profile 1.1 준수에 대한 유효성을 검사합니다.

[WebService(Namespace = "http://tempuri.org/")]  
[WebServiceBinding(  
     ConformsTo = WsiProfiles.BasicProfile1_1,  
     EmitConformanceClaims=true)]  
public interface IEcho  

WS-I Basic Profile 1.1을 준수하는 ASP.NET 웹 서비스는 WCF의 미리 정의된 바인딩인 BasicHttpBinding를 사용하여 WCF 클라이언트와 상호 운용 가능합니다.

서비스 개발

SOAPAction HTTP 헤더가 아닌 SOAP 메시지 본문 요소의 정규화된 이름을 기반으로 메서드로 메시지를 라우팅하려면 SoapDocumentServiceAttribute 특성을 사용하지 마십시오. WCF는 라우팅 메시지에 대해 SOAPAction HTTP 헤더를 사용합니다.

데이터 표현

XmlSerializer에서 기본적으로 형식을 serialize하는 XML은 해당 XML에 대한 네임스페이스가 명시적으로 정의되어 있는 경우 DataContractSerializer에서 형식을 serialize하는 XML과 의미상 동일합니다. 나중에 WCF를 채택하기 위해 ASP.NET 웹 서비스와 함께 사용하도록 데이터 형식을 정의하려면 다음을 수행하세요.

  1. XML 스키마가 아닌 .NET Framework 클래스를 사용하여 형식을 정의합니다.

  2. 클래스에는 SerializableAttributeXmlRootAttribute만 추가하며, 형식에 대한 네임스페이스를 명시적으로 정의하려면 후자를 사용합니다. .NET Framework 클래스를 XML로 변환하는 방법을 제어하려면 System.Xml.Serialization 네임스페이스로부터 특성을 추가하지 마십시오.

이 방법을 채택하면 전송을 위해 클래스가 serialize되도록 XML을 크게 변경하지 않고 나중에 DataContractAttributeDataMemberAttribute를 추가하여 .NET 클래스를 데이터 계약으로 만들 수 있습니다. ASP.NET 웹 서비스에 의해 메시지에서 사용된 형식은 WCF 애플리케이션에 의해 데이터 계약으로 처리될 수 있습니다. 이 경우 WCF 애플리케이션의 성능 향상을 비롯한 여러 가지 이점을 얻을 수 있습니다.

보안

IIS(인터넷 정보 서비스)에서 제공하는 인증 옵션은 사용하지 마십시오. WCF 클라이언트에서는 이를 지원하지 않습니다. 서비스 보안이 필요한 경우 WCF에서 제공하는 옵션을 사용하세요. 이러한 옵션은 더 풍부하며 표준 프로토콜을 기반으로 하기 때문입니다.

참고 항목