Ler em inglês

Partilhar via


SessionChangeReason Enumeração

Definição

Especifica o motivo para um aviso de alteração de sessão dos Serviços de Terminal.

C#
public enum SessionChangeReason
Herança
SessionChangeReason

Campos

ConsoleConnect 1

Uma sessão do console foi conectada.

ConsoleDisconnect 2

Uma sessão do console foi desconectada.

RemoteConnect 3

Uma sessão remota foi conectada.

RemoteDisconnect 4

Uma sessão remota foi desconectada.

SessionLock 7

A sessão foi bloqueada.

SessionLogoff 6

Um usuário fez logoff em uma sessão.

SessionLogon 5

Um usuário fez logon em uma sessão.

SessionRemoteControl 9

O status de controle remoto de uma sessão foi alterado.

SessionUnlock 8

A sessão foi desbloqueada.

Exemplos

O exemplo de código a seguir mostra o uso da SessionChangeReason enumeração em uma implementação do OnSessionChange método em uma classe derivada de ServiceBase. Este exemplo de código faz parte de um exemplo maior fornecido para a ServiceBase classe.

C#
        // Handle a session change notice
        protected override void OnSessionChange(SessionChangeDescription changeDescription)
        {
#if LOGEVENTS
            EventLog.WriteEntry("SimpleService.OnSessionChange", DateTime.Now.ToLongTimeString() +
                " - Session change notice received: " +
                changeDescription.Reason.ToString() + "  Session ID: " +
                changeDescription.SessionId.ToString());
#endif

            switch (changeDescription.Reason)
            {
                case SessionChangeReason.SessionLogon:
                    userCount += 1;
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " SessionLogon, total users: " +
                        userCount.ToString());
#endif
                    break;
                case SessionChangeReason.SessionLogoff:

                    userCount -= 1;
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " SessionLogoff, total users: " +
                        userCount.ToString());
#endif
                    break;
                case SessionChangeReason.RemoteConnect:
                    userCount += 1;
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " RemoteConnect, total users: " +
                        userCount.ToString());
#endif
                    break;
                case SessionChangeReason.RemoteDisconnect:
                    userCount -= 1;
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " RemoteDisconnect, total users: " +
                        userCount.ToString());
#endif
                    break;
                case SessionChangeReason.SessionLock:
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " SessionLock");
#endif
                    break;
                case SessionChangeReason.SessionUnlock:
#if LOGEVENTS
                    EventLog.WriteEntry("SimpleService.OnSessionChange",
                        DateTime.Now.ToLongTimeString() +
                        " SessionUnlock");
#endif
                    break;
                default:
                    break;
            }
        }

Aplica-se a

Produto Versões
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8