Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Режимы загрузки, дополнительные атрибуты и число элементов




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

§ Нужно стремиться указывать минимально требуемый набор атрибутов и минимально требуемое значение числа элементов. Если полученные данные предназначены для отображения пользователю, и стоит задача быстро получить (и отобразить пользователю) первые 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...