Leer en inglés

Compartir a través de


SessionChangeDescription Estructura

Definición

Identifica el motivo de un cambio de la sesión de Terminal Services.

C#
public readonly struct SessionChangeDescription : IEquatable<System.ServiceProcess.SessionChangeDescription>
C#
public struct SessionChangeDescription
C#
public readonly struct SessionChangeDescription
Herencia
SessionChangeDescription
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la SessionChangeDescription clase en una implementación del OnSessionChange método en una clase derivada de ServiceBase. Este ejemplo de código es parte de un ejemplo mayor proporcionado para la clase ServiceBase.

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;
            }
        }

Propiedades

Reason

Obtiene la razón para el cambio de la sesión.

SessionId

Obtiene el identificador de sesión para la sesión asociada.

Métodos

Equals(Object)

Determina si el objeto especificado es igual a la descripción del cambio de la sesión actual.

Equals(SessionChangeDescription)

Determina si la descripción de cambio de sesión especificada es igual a la descripción de cambio de sesión actual.

GetHashCode()

Obtiene un código hash para la descripción de cambio de sesión actual.

Operadores

Equality(SessionChangeDescription, SessionChangeDescription)

Devuelve un valor que indica si dos estructuras SessionChangeDescription son iguales.

Inequality(SessionChangeDescription, SessionChangeDescription)

Devuelve un valor que indica si dos estructuras SessionChangeDescription no son iguales.

Se aplica a

Producto Versiones
.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