LicenseManager — класс

Класс LicenseManager содержит функциональность по работе с дополнительными опциями лицензии Docsvision, в которых присутствует ограничение по количеству соединений.

Синтаксис

public abstract class LicenseManager

Свойства

Имя Описание

Session

Возвращает сессию пользователя.

Методы

Имя Описание

DecrementFeatureUsage(Guid)

Уменьшает число активных соединений в счетчике дополнительной опции лицензии.

IncrementFeatureUsage(Guid)

Увеличивает число активных соединений в счетчике дополнительной опции лицензии.

Заметки

На основе методов DecrementFeatureUsage и IncrementFeatureUsage реализуется механизм контроля числа пользователей, использующих определённый модуль Docsvision, если для данного модуля предусмотрено лицензионное ограничение на количество одновременно работающих пользователей.

Примеры

К примеру, при осуществлении доступа к дополнительному модулю Docsvision, необходимо выполнить проверку того, не достигнут ли предел подключений пользователей:

private void Take(UserSession userSession, Guid featureId) (1)
{
 try
 {
  userSession.LicenseManager.IncrementFeatureUsage(featureId); (2)
  return;
 } catch (StorageServerException ex)
 {
  if (ex.ErrorCode = (int)ErrorCode.FeatureLimit) (3)
  {
   (4)
   return;
  } else
  {
   (5)
   return;
  }
 }
}
1 userSession — сессия пользователя

featureId — идентификатор дополнительной опции в лицензии Docsvision.

2 Увеличение числа соединений с модулем.
3 Если достигнут предел подключений, то:
4 Вывод сообщения о превышении количества пользователей.
5 Вывод сообщения о прочей ошибке.

После выхода пользователя из модуля, соединение должно быть освобождено:

private void Release(UserSession userSession, Guid featureId)
{
 try
 {
  userSession.LicenseManager.DecrementFeatureUsage(featureId); (1)
  return;
 } catch (StorageServerException ex)
 {
  (2)
  return;
 }
}
1 Уменьшение числа соединений с модулем.
2 Вывод сообщения о прочей ошибке.