Определить текущий сеанс в приложении Windows Forms: идентификатор сеанса? - PullRequest
1 голос
/ 15 июня 2009

В ASP.NET каждый сеанс можно идентифицировать по его переменной SessionID. В настоящее время я работаю над проектом, для которого я хочу иметь возможность идентифицировать каждый отдельный сеанс пользователя. Другими словами, я ищу идентификатор сеанса или эквивалентную переменную.

Я просматривал классы Application, Environment и AppDomain, но не смог найти такую ​​переменную. Итак, мой вопрос: как определить сессию (ы), которую приложение обрабатывает в настоящее время?

Ответы [ 3 ]

2 голосов
/ 15 июня 2009

Может быть System.Diagnostics.Process.GetCurrentProcess().Id покроет ваши потребности? Это даст вам номер, который однозначно идентифицирует текущий процесс в системе. Номер действителен только во время выполнения процесса, и после его завершения любому другому процессу может быть присвоен тот же номер при запуске.

0 голосов
/ 15 июня 2009

Вы можете проверить некоторые параметры в классе Environment, например Environment.UserName, Environment.MachineName или Environment.UserDomainName

0 голосов
/ 15 июня 2009

Я не совсем уверен, что следую за вами, но если вы пытаетесь отслеживать каждый экземпляр жизненного цикла приложения, вы можете создать GUID в качестве члена экземпляра где-нибудь подходящим. Всякий раз, когда вы чувствуете, что был создан новый «сеанс», вы можете создать и сохранить этот GUID - возможно, когда пользователь входит в систему (или загружается основная форма, если у вас нет механизма входа в систему).

Я предполагаю, что, конечно, у вас есть многопользовательская среда с подключенным сервером, в противном случае я не вижу необходимости в сессиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...