Добавление ссылки на службу в проект переносного вложенного набора
Переносимые проекты подмножества позволяют программистам сборки .NET поддерживать одно исходное дерево и систему сборки, поддерживая несколько реализаций .NET (классические, Silverlight, Windows Телефон и Xbox). Переносимые проекты подмножества ссылаются только на переносимые библиотеки, которые являются сборками .NET, которые можно использовать в любой реализации .NET.
Диалоговое окно «Добавление ссылки на службу»
При добавлении ссылки на службу в переносимом проекте подмножества применяются следующие ограничения:
Для XmlSerializer разрешены только символьные кодирования. Кодировки SOAP приводят к ошибке во время импорта.
Для служб, использующих сценарии DataContractSerializer, предоставляется суррогат контракта данных, гарантирующий что повторно используемые типы находятся в переносимом подмножестве.
Конечные точки, которые зависят от привязок, неподдерживаемых в переносимых библиотеках (все привязки, кроме BasicHttpBinding, WSHttpBinding, за исключением привязок потока транзакций, надежных сеансов или кодирования MTOM и соответствующих пользовательских привязок), не учитываются.
Перед импортом во всех операциях заголовки сообщений удаляются из всех описаний сообщений.
Непереносимые атрибуты 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 не поддерживается.
Привязки PollingDuplex и Net.Tcp не поддерживаются.
Класс DataContractSerializer всегда будет использоваться для отработки ошибок.
Свойство IsWrapped не поддерживается в проектах переносимого подмножества.