Режимы загрузки, дополнительные атрибуты и число элементов
В ряде методов можно указать режимы загрузки и список дополнительных атрибутов, которые сервер должен вернуть. При указании значений этих параметров следует принимать во внимание следующие правила: § Нужно стремиться указывать минимально требуемый набор атрибутов и минимально требуемое значение числа элементов. Если полученные данные предназначены для отображения пользователю, и стоит задача быстро получить (и отобразить пользователю) первые N записей, то можно передавать для параметра ItemCount значение -1: в этом случае система сама ограничит число элементов подходящим значением N. Значение подбирается исходя из баланса между временем выполнения, нагрузкой на СУБД и объемом передаваемых данных. В настоящее время это значение для разных типов объектов лежит в диапазоне от 500 до 5000, но надо иметь в виду, что значения могут меняться в зависимости от версии Сервера контента и Веб сервисов (SetVersion не вляиет на это значение). § В запросах, которые могут возвращать несколько элементов (GetObjectsList, GetDocumentList и т.п.), нужно указывать режимы ListItem, Minimal или None. Передача режима загрузки AllAttributes и Full может привести к отказу в выполнении метода (генерации исключения), если под условие выборки подойдет более одного элемента. § Указание в списке дополнительных атрибутов дочерних списков, допускается, только если метод должен вернуть не более одного основного элемента, например, если в запросе указано ограничение по ключу или максимальное число элементов равно 1. Метод OpenServerSession (Открыть серверную сессию) Метод служит для открытия сессии на Сервере приложений. Формат вызова: bool OpenServerSession(string Login, string Password) Параметры: § Login – логин для входа в систему;
§ Password – пароль для входа в систему. Результат выполнения операции: Возвращает true, если соединение успешно установлено, false в противном случае. Рекомендуется после успешного завершения сразу вызвать метод SetVersion. Метод CloseSession (Закрыть сессию) Метод служит для закрытия сессии на сервере приложений. Формат вызова: bool CloseSession() Результат выполнения операции: Возвращает true, если соединение успешно установлено, и false в противном случае. Метод OpenDeputySession (Открыть сессию замещения) Метод выполняет открытие сессии замещения на сервере приложений
Формат вызова: OpenDeputySession(long delegatingUserID)
Параметры: delegatingUserID – идентификатор замещаемого пользователя Результат выполнения операции: В случае успеха, запоминает идентификатор в ASP.NET сессии и закрывает исходную сессию. В случае ошибки – текущая сессия остается активной Рекомендуется после успешного завершения сразу вызвать SetVersion
Метод Ping (Проверить активность сессии) Метод служит для проверки активности сессии. Формат вызова: bool Ping() Результат выполнения операции: Возвращает true в случае, когда сессия активна, и false в противном случае. Также уведомляет сессию о своем существовании. Сценарий использования: LDWebService instance; CookieContainer Сookie = new CookieContainer(); // Создается объект-прокси к web-сервисам instance = new LDWebService(); instance.Timeout = Timeout.Infinite; instance.Url = «http://localhost/LDWebService/BMService.asmx»; instance.CookieContainer = Сookie; // Далее указываются настройки способа аутентификации. Вернее то, чтобы при соединении система использовала настройки текущего пользователя. instance.Credentials = System.Net.CredentialCache.DefaultCredentials; // Устанавливается соединение bool Res = instance.OpenServerSession(«Login», «Password»); if (false == Res) { MessageBox.Show(«Ошибка при установке сессии с web-сервисами.»); return; } (какие-то действия) // Проверка активности соединения if (Instance.Ping()) MessageBox.Show(«Cессия активна.»); else MessageBox.Show(«Cессия неактивна.»);
// Соединение закрывается instance.CloseSession(); Метод GetObjectsCount (Получить количество объектов) Универсальный метод получения количества объектов определенного типа. Формат вызова: int GetObjectsCount(string ObjectType, string Constraint) Параметры: § ObjectType – тип объекта или, что то же самое, имя репозиторной сущности; § Constraint – ограничение в виде xml-строки (см. п. 6); Результат выполнения операции: Возвращает количество объектов указанного типа. Метод GetObjectsList (Получить список объектов) Универсальный метод получения списка объектов из указанного контейнера. Формат вызова: string GetObjectsList(string ObjectType, int StartPosition, int ItemCount, LanDocsServerTypes.GroupAttributes GroupAttributes, string[] Members, string Constraint) Параметры: § ObjectType – тип объекта или, то же самое, имя репозиторной сущности; § StartPosition – порядковый номер документа, начиная с которого будет выведен список объектов; § ItemCount – количество объектов, которое требуется получить; Рекомендуемый диапазон значений для быстрой работы метода - не более 500-1000 элементов. При значении -1 система сама ограничит число элементов подходящим значением (см. 5.1); § GroupAttributes – группа атрибутов или, то же самое, режим загрузки; § Members – массив реквизитов (IAttribute, IChild), значения которых следует обязательно получить в результате; § Constraint – ограничение в виде xml-строки (см. разд. 6). Результат выполнения операции: Возвращает сериализованный в строку DataSet.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|