Типы фильтров, поддерживаемых службой подключения к бизнес-данным
Дата последнего изменения: 16 июля 2010 г.
Применимо к: SharePoint Server 2010
Фильтры — это фундаментальное средство, с помощью которого подключения к бизнес-данным (BDC) собирает введенные пользователями (или системой) данные и предоставляет их вызывающему объекту тылового интерфейса API. Фильтры описывают, куда в сложном рядя параметров следует вставить значение фильтра. Для этого во входные или возвращаемые параметры в определении метода добавляется тег, указывающий место, в которое следует вставить значение. Функциональная возможность фильтрации должна предоставляться вызывающим объектом тылового интерфейса API. Фильтры образуют только механизм предоставления этой возможности пользователям.
Внешние системы предоставляют различные механизмы фильтрации. BDC абстрагирует распространенные шаблоны, чтобы предоставить пользователям единую семантику фильтрации, не зависящую от источника данных. BDC поддерживает несколько фильтров и шаблонов фильтрации. В пользовательских фильтрах, таких как Comparison (сравнение), указывается, какие входы пользователи могут переопределять. Системные фильтры, например UserContext и UserProfile, позволяют BDC безопасно задавать значения, например маркер пользователя. Дополнительные сведения см. в таблице 1. Чтобы определить, какие фильтры поддерживаются системой и соответствующим образом визуализировать свои интерфейсы, клиенты опрашивают репозиторий метаданных.
Важно! |
---|
Если автор метаданных создает метаданные, использующие имя пользователя в качестве фильтра, управляемого пользователями, и возвращающие конфиденциальные персональные данные, пользователи смогут увидеть данные этого пользователя. Во избежание такой ситуации для передачи в вызов метода имени пользователя используйте фильтр UserContextFilter. |
В таблице 1 описаны фильтры, поддерживаемые в BDC.
Таблица 1. Значения фильтров
Значение |
Тип фильтра |
Описание |
||
---|---|---|---|---|
ActivityId |
Системный фильтр |
Используется при вызове операции для внешней системы, когда значение, передаваемое в качестве входного параметра, должно представлять собой идентификатор контекста вызывающей операции. Business Connectivity Services определяет GUID, представляющий контекст текущей операции как значение для входного параметра, связанного с фильтром ActivityId. |
||
Batching |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Его значение может быть установлено автоматически любым клиентским приложением равным последнему значению фильтра, полученному от внешней системы. Затем это значение может использоваться внешней системой для возобновления перечисления элементов или изменений. |
||
BatchingTermination |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Значение, возвращаемое внешней системой, указывает, требуются ли для получения оставшихся данных дополнительные вызовы. |
||
Comparison |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Внешняя система может сравнить значение ComparisonFilter со значением конкретного поля в наборе EntityInstances и может возвратить только те экземпляры сущностей EntityInstances, у которых значения полей проходят проверку сравнением. |
||
Input |
Пользовательский фильтр |
Используется при вызове операции во внешней системе. Внешняя система может использовать значение InputFilter в качестве дополнительного аргумента для операции. |
||
InputOutput |
Пользовательский фильтр |
Используется при вызове операции во внешней системе. Внешняя система может использовать значение InputOutputFilter в качестве дополнительного аргумента для операции, и дополнительные результаты операции, которые не могут быть собраны ReturnTypeDescriptor, могут быть возвращены как значение InputOutputFilter. |
||
LastId |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Его значение может автоматически устанавливаться любым клиентским приложением равным значениям идентификатора последнего элемента, считанного из внешней системы в метод поиска, возвращающий данные несколькими блоками. Затем это значение может использоваться внешней системой для возвращения оставшихся элементов, начиная со следующего элемента. |
||
Limit |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Его значение может интерпретироваться как ограничение на количество внешних элементов (EntityInstances), возвращаемых при вызове метода, которому он принадлежит. |
||
Output |
Пользовательский фильтр |
Используется при вызове операции во внешней системе. Дополнительные результаты операции, которые не могут быть собраны ReturnTypeDescriptor, могут быть возвращены как значение InputOutputFilter. |
||
PageNumber |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Его значение представляет собой отсчитываемый от нуля индекс страницы, которую внешняя система должна вернуть для многостраничного результата. |
||
Password |
Системный фильтр |
Используется при вызове операций для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой пароль, хранящийся в Secure Store. Business Connectivity Services получает учетные данные, сопоставляемые со свойством SecondarySsoApplicationId и со свойством SsoProviderImplementation экземпляра внешней системы (LobSystemInstance). Пароль, полученный из учетных данных, используется в качестве значения входного параметра, связанного с фильтром Password.
|
||
SSOTicket |
Системный фильтр |
Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой билет единого входа, полученный из Secure Store для пользователя. Конечная служба или приложение может затем восстановить этот билет, чтобы получить учетные данные пользователя. Secure Store использует свойство SSOProviderImplementation, определенное в экземпляре внешней системы, и запрашивает у соответствующего поставщика выдачу билета SSOTicket. Этот билет SSOTicket передается в качестве входного параметра, связанного с фильтром SSOTicket. |
||
Timestamp |
Пользовательский фильтр |
Используется при вызове операции для внешней системы. Его значение представляет собой время последнего вызова этой функции конкретным клиентом. Это значение затем может использоваться внешней системой для сообщения изменений после указанного времени. |
||
UserContext |
Системный фильтр |
Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой контекст пользователя. В этом случае, чтобы найти значение, задаваемое в качестве входного параметра, Business Connectivity Services использует свойство UserContextType для фильтра (FilterDescriptor). Если заданное значение UserContextType равно MachineId, это значение, передаваемое во входной параметр, является уникальным идентификатором установки операционной системы компьютера. Если заданным контекстом UserContextType является QualifiedUserName, во входной параметр передается одно из следующих значений:
|
||
UserCulture |
Системный фильтр |
Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой язык и региональные параметры среды пользователя, вызывающего операцию. Чтобы найти значение для входного параметра, Business Connectivity Services использует свойство Format фильтра.
|
||
UserName |
Системный фильтр |
Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой имя пользователя, хранящееся в Secure Store. Business Connectivity Services получает учетные данные, сопоставляемые со свойством SecondarySsoApplicationId и свойством SsoProviderImplementation экземпляра внешней системы. Имя пользователя, полученное из учетных данных, используется в качестве значения входного параметра, связанного с системным фильтром UserName.
|
||
UserProfile |
Системный фильтр |
Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно быть свойством профиля текущего пользователя. Чтобы получить значение для входного параметра, Business Connectivity Services использует свойства UserProfileProvider и UserProfilePropertyName, заданные для фильтра. Свойство UserProfileProvider используется для получения профиля текущего пользователя, а свойство UserProfilePropertyName содержит имя свойства, значение которого в профиле пользователя должно быть передано во входной параметр. |
||
Wildcard |
Пользовательский фильтр |
Используется при отправке запроса во внешнюю систему. Его значение представляет собой шаблон из обычных символов и подстановочных знаков, сравниваемых со значением конкретного поля набора экземпляров EntityInstances. Внешняя система возвращает только те экземпляры EntityInstances, у которых значения полей соответствуют заданному шаблону. |