Подключение к серверу Docsvision

Первым шагом на пути разработки внешнего, по отношению к серверу и клиенту (Windows-клиенту) Docsvision, приложению является подключение к серверу Docsvision. При этом должен быть получен экземпляр пользовательской сессии (или сессии пользователя) — главный объект базового API, обеспечивающий единую точку доступа к остальным функциям API данного уровня. При разработке скриптов карточки (в Конструкторе скриптов, либо в Конструкторе разметок) и бизнес-процессов создавать пользовательскую сессию не требуется — готовую сессию можно получить из класса скрипта карточки, а также из параметров вызываемых в бизнес-процессе методов.

С физической точки зрения, сессия — контекст сеанса связи с сервером для конкретного пользователя. Сессия ассоциируется с конкретной доменной учетной записью, от имени которой установлено соединение, и в дальнейшем все привилегии на доступ к данным из этой сессии будут проверяться именно для этой учетной записи.

Для выполнения операции с привилегиями другого пользователя необходимо явно указать его данные при создании сессии.

С точки зрения разработки, пользовательская сессия — экземпляр класса UserSession), который создаётся следующим образом:

UserSession CreateUserSession()
{ (1)
 SessionManager sessionManager = SessionManager.CreateInstance();

 string connectionString = "ConnectAddress=http://{SERVERNAME}/DocsVision/StorageServer/StorageServerService.asmx;UserName={USERNAME};Password={PASSWORD}"; (2) (3)

 sessionManager.Connect(connectionString); (4)

 UserSession userSession = sessionManager.CreateSession(); (5)

 return userSession;
}
1 Создаем экземпляр менеджера сессий.
2 SERVERNAME — имя сервера Docsvision.
3 USERNAME и PASSWORD — данные учетной записи для подключения к серверу Docsvision.
4 Передаем менеджеру сессий параметры подключения к серверу (описание см. по ссылке).
5 Создаем сессию пользователя.
Чтобы использовать приведенные в коде типы, потребуется:
  1. Добавить в проект сборку Docsvision:

    DocsVision.Platform.ObjectManager.dll.

    Указанный DLL-файл входит в состав клиента и сервера Docsvision.

  2. Подключить пространство имён:

    using DocsVision.Platform.ObjectManager;

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

Каждая пользовательская сессия обладает набором определённых параметров, значение которых устанавливается автоматическию Значение некоторых параметров можно изменить, но только на время работы в сессии. Значение определённого параметра пользовательской сессии можно получить из массива UserSession.Properties.

Описание доступных параметров приведено в разделе Список свойств пользовательской сессии.

Для работы с пользовательскими сессиями могут быть полезны два других метода менеджера сессий:
  • CloseSession(Guid) — принудительно закрывает любую пользовательскую сессию (требуются права администратора системы).

  • GetOpenSessions — возвращает список всех открытых сессий.