Типы фильтров, поддерживаемых службой подключения к бизнес-данным

Дата последнего изменения: 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.

ПримечаниеПримечание

SecondarySSOApplicationId отличается от SSOApplicationId. SecondarySSOApplicationId используется в фильтрах UserName и Password. Дополнительные сведения см. в разделах Настраиваемые свойства BDC и Элемент LobSystemInstance в элементе LobSystemInstances (схема BDCMetadata).

SSOTicket

Системный фильтр

Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой билет единого входа, полученный из Secure Store для пользователя. Конечная служба или приложение может затем восстановить этот билет, чтобы получить учетные данные пользователя. Secure Store использует свойство SSOProviderImplementation, определенное в экземпляре внешней системы, и запрашивает у соответствующего поставщика выдачу билета SSOTicket. Этот билет SSOTicket передается в качестве входного параметра, связанного с фильтром SSOTicket.

Timestamp

Пользовательский фильтр

Используется при вызове операции для внешней системы. Его значение представляет собой время последнего вызова этой функции конкретным клиентом. Это значение затем может использоваться внешней системой для сообщения изменений после указанного времени.

UserContext

Системный фильтр

Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой контекст пользователя. В этом случае, чтобы найти значение, задаваемое в качестве входного параметра, Business Connectivity Services использует свойство UserContextType для фильтра (FilterDescriptor).

Если заданное значение UserContextType равно MachineId, это значение, передаваемое во входной параметр, является уникальным идентификатором установки операционной системы компьютера.

Если заданным контекстом UserContextType является QualifiedUserName, во входной параметр передается одно из следующих значений:

  • Если для входа в систему пользователь использует классический режим Windows, это значение является именем пользователя для входа в Windows. Оно содержит имя домена и имя пользователя (например имя_домена/имя_пользователя).

  • Если для входа в систему пользователь использует режим на основе утверждений, то передаваемое значение является уникальным значением, определяющим пользователя (например, членство: имя_пользователя, имя_пользователя@поставщик.com).

UserCulture

Системный фильтр

Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой язык и региональные параметры среды пользователя, вызывающего операцию. Чтобы найти значение для входного параметра, Business Connectivity Services использует свойство Format фильтра.

  • Если значение свойства Format равно RFC1766, значением, передаваемым в качестве входного параметра, является имя языка и региональных параметров. Дополнительные сведения см. в описании CultureInfo.Name.

  • Если значение свойства Format равно TwoLetterISO, значением, передаваемым в качестве входного параметра, является двухбуквенное ISO-имя языка для языка и региональных параметров. Дополнительные сведения см. в описании CultureInfo.TwoLetterISOLanguageName.

  • Если значение свойства Format равно ThreeLetterISO, значением, передаваемым в качестве входного параметра, является трехбуквенное ISO-имя языка для языка и региональных параметров. Дополнительные сведения см. в описании CultureInfo.ThreeLetterISOLanguageName.

  • Если значение свойства Format равно ThreeLetterWindows, значением, передаваемым в качестве входного параметра, является трехбуквенное Windows-имя языка для языка и региональных параметров. Дополнительные сведения см. в описании CultureInfo.ThreeLetterWindowsLanguageName.

  • Если значение свойства Format равно LCID, значением, передаваемым в качестве входного параметра, будет идентификатор LCID языка и региональных параметров. Дополнительные сведения см. в описании CultureInfo.LCID.

UserName

Системный фильтр

Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно представлять собой имя пользователя, хранящееся в Secure Store. Business Connectivity Services получает учетные данные, сопоставляемые со свойством SecondarySsoApplicationId и свойством SsoProviderImplementation экземпляра внешней системы. Имя пользователя, полученное из учетных данных, используется в качестве значения входного параметра, связанного с системным фильтром UserName.

ПримечаниеПримечание

SecondarySSOApplicationId отличается от SSOApplicationId. SecondarySSOApplicationId используется в фильтрах UserName и Password. Дополнительные сведения см. в разделах Настраиваемые свойства BDC и Элемент LobSystemInstance в элементе LobSystemInstances (схема BDCMetadata).

UserProfile

Системный фильтр

Используется при вызове операции для внешней системы; значение, передаваемое в качестве входного параметра, должно быть свойством профиля текущего пользователя. Чтобы получить значение для входного параметра, Business Connectivity Services использует свойства UserProfileProvider и UserProfilePropertyName, заданные для фильтра. Свойство UserProfileProvider используется для получения профиля текущего пользователя, а свойство UserProfilePropertyName содержит имя свойства, значение которого в профиле пользователя должно быть передано во входной параметр.

Wildcard

Пользовательский фильтр

Используется при отправке запроса во внешнюю систему. Его значение представляет собой шаблон из обычных символов и подстановочных знаков, сравниваемых со значением конкретного поля набора экземпляров EntityInstances. Внешняя система возвращает только те экземпляры EntityInstances, у которых значения полей соответствуют заданному шаблону.