Leggi in inglese

Condividi tramite


SessionChangeDescription Struct

Definizione

Identifica il motivo di una modifica di sessione di Servizi Terminal.

C#
public readonly struct SessionChangeDescription : IEquatable<System.ServiceProcess.SessionChangeDescription>
C#
public struct SessionChangeDescription
C#
public readonly struct SessionChangeDescription
Ereditarietà
SessionChangeDescription
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato l'uso della SessionChangeDescription classe in un'implementazione del OnSessionChange metodo in una classe derivata da ServiceBase. Questo esempio di codice fa parte di un esempio più grande fornito per la 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;
            }
        }

Proprietà

Reason

Ottiene il motivo della modifica di sessione.

SessionId

Ottiene l'ID della sessione associata.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale alla descrizione di modifica di sessione corrente.

Equals(SessionChangeDescription)

Determina se la descrizione di modifica di sessione specificata è uguale alla descrizione di modifica di sessione corrente.

GetHashCode()

Ottiene un codice hash per la descrizione della modifica della sessione corrente.

Operatori

Equality(SessionChangeDescription, SessionChangeDescription)

Restituisce un valore che indica se due strutture SessionChangeDescription sono uguali.

Inequality(SessionChangeDescription, SessionChangeDescription)

Restituisce un valore che indica se due strutture SessionChangeDescription non sono uguali.

Si applica a

Prodotto Versioni
.NET 6, 7, 8, 9
.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, 4.8.1
.NET Standard 2.0