Использование объектных моделей списка и клиента SharePoint с внешними списками
Дата последнего изменения: 15 апреля 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Преимущества объектной модели списка и клиента SharePoint
Ограничения объектной модели списка и клиента SharePoint
Необходимые сведения об использовании объектной модели списка с внешними списками
Для программного управления внешними данными, предоставляемыми службами Microsoft Business Connectivity Services (BCS) используются следующие объектные модели:
объектная модель BDC, доступная как на стороне сервера, так и на стороне клиента;
объектная модель Microsoft SharePoint 2010, включающая класс SPList объектной модели на стороне сервера в пространстве имен Microsoft.SharePoint и соответствующий ему класс List объектной модели на стороне клиента в пространствах имен Microsoft.SharePoint.Client и Microsoft.SharePoint.Client.Silverlight.
В таблице 1 приведена сводка по доступным объектным моделям.
Таблица 1. Объектные модели SharePoint на стороне клиента и сервера
Объектная модель |
Сервер |
Клиент |
Описание |
---|---|---|---|
Объектная модель BDC |
Да |
Да |
Предоставляет библиотеку пространств имен служб Business Connectivity Services. Доступна в SharePoint Foundation 2010, SharePoint Server 2010 и Office профессиональный плюс 2010. В объектной модели BDC операции Создание, Чтение, Обновление и Удаление (CRUD) над данными из внешней системы выполняются с помощью внешнего типа контента симметрично на стороне сервера и на стороне клиента. |
Класс SPList (объектная модель на стороне сервера) |
Да |
Нет |
Представляет список на веб-сайте SharePoint. (Microsoft.SharePoint.dll) Класс SPList использует объектную модель BDC для выполнения на сервере операций создания, чтения, обновления и удаления над внешним списком. |
Объектная модель клиента |
Нет |
Да |
Представляет клиентские API-интерфейсы SharePoint Foundation 2010 для взаимодействия с сайтами SharePoint в управляемых приложениях Microsoft .NET Framework, приложениях Microsoft Silverlight и скриптах ECMAScript (JavaScript, JScript), выполняемых в браузере. API-интерфейсы предоставляют механизм взаимодействия с данными SharePoint с удаленного компьютера путем загрузки объекта контекста клиента для получения доступа к клиентским объектам на уровне семейства сайтов и более низких уровнях. (Microsoft.SharePoint.Client.dll и Microsoft.SharePoint.Client.Silverlight.dll) В объектной модели на стороне клиента класс SPList используется для выполнения операций создания, чтения, обновления и удаления в клиентском приложении через веб-службы SharePoint. |
На приведенной ниже схеме архитектуры показано, какие объектные модели представлены на стороне клиента и сервера, как они взаимодействуют друг с другом и другими компонентами Business Connectivity Services, а также с решениями, построенными на базе служб Business Connectivity Services.
Рис. 1. Объектные модели на стороне клиента и сервера
Можно выбрать, какая точка входа в стек будет использоваться для программирования на стороне клиента и сервера. Класс SPList обладает рядом ограничений, для обхода которых можно воспользоваться низкоуровневыми API-интерфейсами объектной модели BDC, предназначенными для работы с фактическими внешними типами контента.
Преимущества объектной модели списка и клиента SharePoint
Ниже перечислены преимущества использования объектной модели списка и клиента SharePoint.
Простая и уже знакомая разработчикам объектная модель. Объектная модель списка SharePoint (класс SPList) проста в использовании и хорошо знакома разработчикам SharePoint.
Доступность. Объектная модель BDC доступна на стороне клиента только в том случае, если на компьютере установлен пакет Office профессиональный плюс 2010. При этом объектная модель SharePoint доступна и на стороне клиента, и на стороне сервера.
Запуск в среде с частичным доверием. Объектную модель SharePoint можно запускать в среде с частичным доверием. Объектная модель BDC такую возможность не поддерживает.
Ограничения объектной модели списка и клиента SharePoint
Ниже перечислены ограничения объектной модели списка и клиента SharePoint.
Требуют внешних списков. Объектные модели списка и клиента SharePoint выполняют операции создания, чтения, обновления и удаления над внешним списком на сервере. Следовательно, для этого требуется создать на сервере внешний список. Объектная модель BDC этого не требует, поскольку соответствующие операции выполняются непосредственно над внешним типом контента.
Работают только с поддерживаемыми простыми типами. Объектные модели списка и клиента SharePoint работают только для внешних списков с простыми полями. По умолчанию внешний список — это линейное построчное представление данных. Простые и сложные типы, не поддерживаемые в системе типов списка SharePoint, опускаются. В частности, не поддерживается работа с полями следующих типов:
Сложные типы Пример: поле "CustomerAddress", входящее в структуру "Customer", которое, в свою очередь, содержит дочерние элементы "Street", "City", "State" и "PostalCode".
Настраиваемые типы Пример: поле "Resume", входящее в структуру "Applicant", у которого может не быть дочерних элементов, но которое нельзя представить с помощью поддерживаемых типов полей списка SharePoint.
Неподдерживаемые типы .NET Следующие типы .NET Framework не поддерживаются во внешних списках: System.GUID, System.Object, System.URI, System.UInt64 и System.Int64. Таким образом, если одно из полей во внешнем списке относится к одному из перечисленных типов .NET Framework, такие поля опускаются.
Объектная модель BDC лишена этого ограничения и может работать со всеми типами сложных полей.
Отсутствие поддержки расширенных возможностей BDC. Объектные модели списка и клиента SharePoint не поддерживают следующие расширенные возможности BDC:
Разбивка на страницы Внешние списки не позволяют разбивать данные на страницы или фрагменты.
Групповые операции Внешние списки не позволяют выполнять групповые операции, например считывать 25 экземпляров одновременно.
Работа с потоками Отсутствует поддержка потоковых данных, например больших двоичных объектов (BLOB) из внешних систем.
Сложные связи Внешние списки не поддерживают связи.
Необходимые сведения об использовании объектной модели списка с внешними списками
BdcIdentity — это поле объекта списка SharePoint, представляющее удостоверение конкретного элемента списка. Это единственный детерминированный механизм уникальной идентификации отдельного элемента списка. Чтобы получить этот идентификатор, воспользуйтесь коллекцией Fields объекта SPList. Примеры см. в разделах Фрагменты кода. Использование объектной модели списка SharePoint с внешними списками на сервере и Фрагменты кода: использование объектной модели клиента SharePoint с внешними списками.
Идентификатор ItemID для элементов внешнего списка всегда равен нулю, поэтому следует использовать идентификатор BdcIdentity.
При использовании объектной модели клиента SharePoint с внешними списками необходимо учитывать ряд дополнительных факторов. Дополнительные сведения см. в разделе Фрагмент кода: получение данных элемента из внешнего списка на клиенте.
См. также
Концепции
Установка контекста для использования объектных моделей BDC
Другие ресурсы
Фрагменты кода. Использование объектной модели списка SharePoint с внешними списками на сервере
Фрагменты кода: использование объектной модели клиента SharePoint с внешними списками
Фрагменты кода для объектной модели служб Business Connectivity Services