Class SessionFactory
Фабрика, создающая экземпляр сессии API.
Inherited Members
Namespace: Ascon.Polynom.Api
Assembly: Ascon.Polynom.Api.dll
Syntax
public static class SessionFactory
Methods
CanCreateAnonymous(ISessionDefinition, SessionOptions)
Возвращает признак, можно ли создать анонимную сессию.
Declaration
public static bool CanCreateAnonymous(ISessionDefinition sessionDefinition, SessionOptions sessionOptions = SessionOptions.None)
Parameters
| Type | Name | Description |
|---|---|---|
| ISessionDefinition | sessionDefinition | Параметры сессии. |
| SessionOptions | sessionOptions | Опции сессии. |
Returns
| Type | Description |
|---|---|
| bool | Признак, можно ли создать анонимную сессию. |
Create(UserAccount, ISessionDefinition, SessionOptions, ClientType, bool, ClientConnectionInfo)
Создает экземпляр сессии с открытым объектным пространством.
Declaration
public static ISession Create(UserAccount userAccount, ISessionDefinition sessionDefinition, SessionOptions sessionOptions = SessionOptions.None, ClientType clientType = ClientType.Client, bool rememberMe = true, ClientConnectionInfo clientConnectionInfo = null)
Parameters
| Type | Name | Description |
|---|---|---|
| UserAccount | userAccount | Аккаунт пользователя. |
| ISessionDefinition | sessionDefinition | Определение сессии для подключения. |
| SessionOptions | sessionOptions | Опции сессии. |
| ClientType | clientType | Тип клиента. |
| bool | rememberMe | Запомнить меня. |
| ClientConnectionInfo | clientConnectionInfo | Информация о клиенте. |
Returns
| Type | Description |
|---|---|
| ISession | Созданная сессия API. |
Create(string, ISessionDefinition, SessionOptions, ClientType, ClientConnectionInfo)
Создает экземпляр сессии с открытым объектным пространством.
Declaration
public static ISession Create(string accessToken, ISessionDefinition sessionDefinition, SessionOptions sessionOptions = SessionOptions.None, ClientType clientType = ClientType.Client, ClientConnectionInfo clientConnectionInfo = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | accessToken | JWT-токен внешней системы авторизации. |
| ISessionDefinition | sessionDefinition | Определение сессии для подключения. |
| SessionOptions | sessionOptions | Опции сессии. |
| ClientType | clientType | Тип клиента. |
| ClientConnectionInfo | clientConnectionInfo | Информация о клиенте. |
Returns
| Type | Description |
|---|---|
| ISession | Созданная сессия API. |
Create(string, bool, string, string, bool)
Создает экземпляр сессии с открытым объектным пространством.
Declaration
public static ISession Create(string connectionString = null, bool isWindowsAuthorization = true, string userName = null, string password = null, bool rememberMe = true)
Parameters
| Type | Name | Description |
|---|---|---|
| string | connectionString | Строка подключения. |
| bool | isWindowsAuthorization | Использование Windows-аутентификации. |
| string | userName | Имя пользователя. |
| string | password | Пароль. |
| bool | rememberMe | Запомнить меня. |
Returns
| Type | Description |
|---|---|
| ISession | Созданная сессия API. |
Remarks
Строка подключения содержит набор пар «Параметр=Значение», разделенных символом «точка с запятой». Параметры: Storage – имя хранилища ПОЛИНОМ:MDM, с которым необходимо установить соединение. Этот параметр является обязательным, в случае его отсутствия СУ НСИ сигнализирует об ошибке. Connection – имя подключения (сейчас фиксированное, "POLYNOM MDM API Service", см. клиентскую конфигурацию). Address - IP v4 адрес сервиса для подключения; если адрес не задан, подключение идет к локальному сервису. Port - порт сервиса для поключения (по умолчанию 49000); если не задан Address, то параметр игнорируется. IsExclusive - признак монопольного доступа к хранилищу (true/false). SessionHash - хэш сессии для восстановления (см. ISession.SessionHash). Пример строки подключения: "Connection=POLYNOM MDM API Service;Storage=Demo".
Create(string, string, SessionOptions, ClientType, ClientConnectionInfo)
Создает экземпляр сессии с открытым объектным пространством.
Declaration
public static ISession Create(string accessToken, string connectionString, SessionOptions sessionOptions = SessionOptions.None, ClientType clientType = ClientType.Client, ClientConnectionInfo clientConnectionInfo = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | accessToken | JWT-токен внешней системы авторизации. |
| string | connectionString | Строка подключения. |
| SessionOptions | sessionOptions | Опции сессии. |
| ClientType | clientType | Тип клиента. |
| ClientConnectionInfo | clientConnectionInfo | Информация о клиенте. |
Returns
| Type | Description |
|---|---|
| ISession | Созданная сессия API. |
CreateAnonymous(ISessionDefinition, SessionOptions, ClientType, bool)
Создает анонимную сессию, если это возможно, в противном случае выкидывает исключение.
Declaration
public static ISession CreateAnonymous(ISessionDefinition sessionDefinition, SessionOptions sessionOptions = SessionOptions.None, ClientType clientType = ClientType.Client, bool rememberMe = true)
Parameters
| Type | Name | Description |
|---|---|---|
| ISessionDefinition | sessionDefinition | Параметры сессии. |
| SessionOptions | sessionOptions | Опции сессии. |
| ClientType | clientType | Тип клиента. |
| bool | rememberMe | Запомнить меня. |
Returns
| Type | Description |
|---|---|
| ISession | Анонимная сессия. |
CreateStorageTool(IConnection, IStorageConfiguration)
Возвращает инструмент управления заданным хранилищем.
Declaration
public static StorageTool CreateStorageTool(IConnection connection, IStorageConfiguration storageConfiguration)
Parameters
| Type | Name | Description |
|---|---|---|
| IConnection | connection | Подключение к сервису. |
| IStorageConfiguration | storageConfiguration | Заданное хранилище. |
Returns
| Type | Description |
|---|---|
| StorageTool | Инструмент для выполнения служебных операций над хранилищем. |
ForgetSession(Guid)
Удаляет необходимую для восстановления сессии информацию по специальному идентификатору.
Declaration
public static void ForgetSession(Guid sessionHash)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | sessionHash | Идентификатор восстановления сессии. |
GetClientConnectionInfo()
Возвращает информацию о клиентском подключении.
Declaration
public static ClientConnectionInfo GetClientConnectionInfo()
Returns
| Type | Description |
|---|---|
| ClientConnectionInfo | Информация о клиентском подключении. |
GetConfiguration(IConnection)
Возвращает конфигурацию для заданного сервиса.
Declaration
public static IConfiguration GetConfiguration(IConnection connection)
Parameters
| Type | Name | Description |
|---|---|---|
| IConnection | connection | Подключение к сервису. |
Returns
| Type | Description |
|---|---|
| IConfiguration | Конфигурация заданного сервиса. |
GetDefaultConnection()
Возвращает подключение по умолчанию.
Declaration
public static IConnection GetDefaultConnection()
Returns
| Type | Description |
|---|---|
| IConnection | Подключение по умолчанию. |
GetServiceConnection()
Возвращает клиентскую конфигурацию.
Declaration
public static IServiceConnection GetServiceConnection()
Returns
| Type | Description |
|---|---|
| IServiceConnection | Клиентская конфигурация. |
GetSessionDefinitions(IConnection)
Возвращает список определений хранилищ на сервисе.
Declaration
public static ISessionDefinition[] GetSessionDefinitions(IConnection connection)
Parameters
| Type | Name | Description |
|---|---|---|
| IConnection | connection | Конфигурация сервиса. |
Returns
| Type | Description |
|---|---|
| ISessionDefinition[] | Список определений хранилищ на сервисе. |
IsSessionRemembered(Guid)
Возвращает признак, можно ли восстановить сессию по данному идентификатору.
Declaration
public static bool IsSessionRemembered(Guid sessionHash)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | sessionHash | Идентификатор восстановления сессии. |
Returns
| Type | Description |
|---|---|
| bool |
|
RestoreSession(Guid, SessionOptions, ClientType, ClientConnectionInfo)
Восстанавливает сессию по специальному идентификатору. Если до этого была открыта сессия с флагом "Запомнить меня", можно создать аналогичную сессию с теми же параметрами подключения от имени того же пользователя не указывая пароль, вызвав этот метод с ISession.SessionHash в качестве параметра.
Declaration
public static ISession RestoreSession(Guid sessionHash, SessionOptions sessionOptions = SessionOptions.None, ClientType clientType = ClientType.Client, ClientConnectionInfo clientConnectionInfo = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | sessionHash | Идентификатор восстановления сессии. |
| SessionOptions | sessionOptions | Опции сессии. |
| ClientType | clientType | Тип клиента. |
| ClientConnectionInfo | clientConnectionInfo | Описание клиента. |
Returns
| Type | Description |
|---|---|
| ISession | Восстановленная сессия. |