다음을 통해 공유


이식 가능한 하위 집합 프로젝트에 서비스 참조 추가

이식 가능한 하위 집합 프로젝트를 사용하면 복수 .NET 구현(데스크톱, Silverlight, Windows Phone, Xbox)을 지원하면서 .NET 어셈블리 프로그래머가 하나의 소스 트리를 유지하고 시스템을 빌드할 수 있습니다. 이식 가능한 하위 집합 프로젝트는 모든 .NET 구현에서 사용할 수 있는 .NET 어셈블리인 이식 가능한 라이브러리만 참조합니다.

서비스 참조 추가 정보

이식 가능한 하위 집합 프로젝트에 서비스 참조를 추가할 경우 다음 제한이 적용됩니다.

  • XmlSerializer의 경우 리터럴 인코딩만 허용됩니다. SOAP 인코딩은 가져오기 중 오류를 발생시킵니다.

  • DataContractSerializer 시나리오를 사용하는 서비스의 경우 이식 가능한 하위 집합에서만 재사용 형식을 가져오도록 데이터 계약 서로게이트가 제공됩니다.

  • 이식 가능한 라이브러리에서 지원되지 않는 바인딩(BasicHttpBinding, 트랜잭션 흐름, 신뢰할 수 있는 세션 또는 MTOM 인코딩을 사용하지 않는 WSHttpBinding, 그리고 해당 사용자 지정 바인딩을 제외한 모든 바인딩)에 의존하는 엔드포인트는 무시됩니다.

  • 가져오기 전 모든 작업의 모든 메시지 설명에서 메시지 헤더가 삭제됩니다.

  • 이식되지 않는 특성인 DesignerCategoryAttribute, SerializableAttributeTransactionFlowAttribute는 생성된 클라이언트 프록시 코드에서 제거됩니다.

  • 이식되지 않는 속성인 ProtectionLevel, SessionMode, IsInitiating, IsTerminating은 ServiceContractAttribute, OperationContractAttributeFaultContractAttribute에서 제거됩니다.

  • 모든 서비스 작업은 클라이언트 프록시에서 비동기 작업으로 생성됩니다.

  • 생성된 클라이언트 생성자 중 이식되지 않는 형식을 사용하는 생성자는 제거됩니다.

  • 생성된 클라이언트에 CookieContainer 인스턴스가 노출됩니다.

  • 파일 맨 위에는 어셈블리 및 코드 생성기 버전을 식별하는 주석(// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0)이 삽입됩니다.

  • ISerializable 인터페이스는 지원되지 않습니다.

  • Net.Tcp 및 PollingDuplex 바인딩은 지원되지 않습니다.

  • 오류에 대해 언제나 DataContractSerializer가 사용됩니다.

  • 이식 가능한 하위 집합 프로젝트에는 IsWrapped가 지원되지 않습니다.

참고 항목