이식 가능한 하위 집합 프로젝트에 서비스 참조 추가
이식 가능한 하위 집합 프로젝트를 사용하면 복수 .NET 구현(데스크톱, Silverlight, Windows Phone, Xbox)을 지원하면서 .NET 어셈블리 프로그래머가 하나의 소스 트리를 유지하고 시스템을 빌드할 수 있습니다. 이식 가능한 하위 집합 프로젝트는 모든 .NET 구현에서 사용할 수 있는 .NET 어셈블리인 이식 가능한 라이브러리만 참조합니다.
서비스 참조 추가 정보
이식 가능한 하위 집합 프로젝트에 서비스 참조를 추가할 경우 다음 제한이 적용됩니다.
XmlSerializer의 경우 리터럴 인코딩만 허용됩니다. SOAP 인코딩은 가져오기 중 오류를 발생시킵니다.
DataContractSerializer 시나리오를 사용하는 서비스의 경우 이식 가능한 하위 집합에서만 재사용 형식을 가져오도록 데이터 계약 서로게이트가 제공됩니다.
이식 가능한 라이브러리에서 지원되지 않는 바인딩(BasicHttpBinding, 트랜잭션 흐름, 신뢰할 수 있는 세션 또는 MTOM 인코딩을 사용하지 않는 WSHttpBinding, 그리고 해당 사용자 지정 바인딩을 제외한 모든 바인딩)에 의존하는 엔드포인트는 무시됩니다.
가져오기 전 모든 작업의 모든 메시지 설명에서 메시지 헤더가 삭제됩니다.
이식되지 않는 특성인 DesignerCategoryAttribute, SerializableAttribute 및 TransactionFlowAttribute는 생성된 클라이언트 프록시 코드에서 제거됩니다.
이식되지 않는 속성인 ProtectionLevel, SessionMode, IsInitiating, IsTerminating은 ServiceContractAttribute, OperationContractAttribute 및 FaultContractAttribute에서 제거됩니다.
모든 서비스 작업은 클라이언트 프록시에서 비동기 작업으로 생성됩니다.
생성된 클라이언트 생성자 중 이식되지 않는 형식을 사용하는 생성자는 제거됩니다.
생성된 클라이언트에 CookieContainer 인스턴스가 노출됩니다.
파일 맨 위에는 어셈블리 및 코드 생성기 버전을 식별하는 주석(
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
)이 삽입됩니다.ISerializable 인터페이스는 지원되지 않습니다.
Net.Tcp 및 PollingDuplex 바인딩은 지원되지 않습니다.
오류에 대해 언제나 DataContractSerializer가 사용됩니다.
이식 가능한 하위 집합 프로젝트에는 IsWrapped가 지원되지 않습니다.