IConnectedUserInfoEx.SessionId

Синтаксис

SessionId: String;

SessionId: string;

Описание

Свойство SessionId возвращает идентификатор сессии пользователя, подключённого к репозиторию.

Пример

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    Users: IConnectedUsersInfoEx;
    User: IConnectedUserInfoEx;
Begin
    
// Получим репозиторий
    MB := MetabaseClass.Active;
    
// Получим активных пользователей, подключённых к репозиторию
    Users := MB.GetConnectedUsersEx;
    
// Выведем в консоль сообщение, если подключённых пользователей нет
    If Users.Count = 0 Then
        Debug.WriteLine(
"Нет подключенных пользователей");
    
Else
        
// Выведем в консоль информацию о каждом пользователе   
        For Each User In Users Do
            
// Выведем наименование пользователя платформы
            Debug.WriteLine("Пользователь СУБД: " + User.UserName);
            
// Выведем наименование пользователя ОС
            Debug.WriteLine("Пользователь ОС: " + User.UserOsName);
            
// Выведем наименование рабочей станции
            Debug.WriteLine("Рабочая станция: " + User.HostName);
            
// Выведем сетевой МАС-адрес компьютера
            Debug.WriteLine("Сетевой МАС-адрес компьютера: " + User.NetAddress);
            
// Выведем идентификатор сессии пользователя
            Debug.WriteLine("ID сессии: " + User.SessionId);
            Debug.WriteLine(
"=========================================");
        
End For;
    
End If; 
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
…
Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Users: IConnectedUsersInfoEx;
    User: IConnectedUserInfoEx;
Begin
    
// Получим репозиторий
    MB := Params.Metabase;
    
// Получим активных пользователей, подключённых к репозиторию
    Users := MB.GetConnectedUsersEx();
    
// Выведем в консоль сообщение, если подключённых пользователей нет
    If Users.Count = 0 Then
    
    System.Diagnostics.Debug.WriteLine("Нет подключенных пользователей");
    Else
        
// Выведем в консоль информацию о каждом пользователе   
        For Each User In Users Do
            
// Выведем наименование пользователя платформы
            System.Diagnostics.Debug.WriteLine("Пользователь СУБД: " + User.UserName);
            
// Выведем наименование пользователя ОС
            System.Diagnostics.Debug.WriteLine("Пользователь ОС: " + User.UserOsName);
            
// Выведем наименование рабочей станции
            System.Diagnostics.Debug.WriteLine("Рабочая станция: " + User.HostName);
            
// Выведем сетевой МАС-адрес компьютера
            System.Diagnostics.Debug.WriteLine("Сетевой МАС-адрес компьютера: " + User.NetAddress);
            
// Выведем идентификатор сессии пользователя
            System.Diagnostics.Debug.WriteLine("ID сессии: " + User.SessionId);
        
    System.Diagnostics.Debug.WriteLine("=========================================");
    
    End For;
    End If; 
End Sub;

После выполнения примера в консоль будет выведена информация о каждом пользователе, подключённом к репозиторию: наименование пользователя платформы, наименование пользователя ОС, наименование рабочей станции, сетевой MAC-адрес компьютера и идентификатор сессии пользователя. Если подключённых пользователей нет, то в консоль будет выведено соответствующее сообщение.

Пример вывода информации о подключённых пользователях:

=========================================

Пользователь СУБД: ADMIN

Пользователь ОС: petr.petrov

Рабочая станция: PETROV

Сетевой МАС-адрес компьютера: A0-E3-23-D5-E6-84

ID сессии: 78

=========================================

Пользователь СУБД: ADMIN

Пользователь ОС: ivan.ivanov

Рабочая станция: IVANOV

Сетевой МАС-адрес компьютера: AC-22-0B-C8-6A-C4

ID сессии: 93

=========================================

См. также:

IConnectedUserInfoEx