Auf Englisch lesen

Freigeben über


SessionChangeDescription Struktur

Definition

Gibt den Grund für eine Terminaldienste-Sitzungsänderung an.

C#
public readonly struct SessionChangeDescription : IEquatable<System.ServiceProcess.SessionChangeDescription>
C#
public struct SessionChangeDescription
C#
public readonly struct SessionChangeDescription
Vererbung
SessionChangeDescription
Implementiert

Beispiele

Im folgenden Codebeispiel wird die Verwendung der SessionChangeDescription -Klasse in einer Implementierung der OnSessionChange -Methode in einer von ServiceBaseabgeleiteten Klasse veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ServiceBase-Klasse bereitgestellt wird.

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

Eigenschaften

Reason

Ruft den Grund für die Sitzungsänderung ab.

SessionId

Ruft die Sitzungs-ID für die zugehörige Sitzung ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich der aktuellen Sitzungsänderungsbeschreibung ist.

Equals(SessionChangeDescription)

Bestimmt, ob die angegebene Sitzungsänderungsbeschreibung gleich der aktuellen Sitzungsänderungsbeschreibung ist.

GetHashCode()

Ruft einen Hashcode für die aktuelle Beschreibung der Sitzungsänderung ab.

Operatoren

Equality(SessionChangeDescription, SessionChangeDescription)

Gibt einen Wert zurück, der angibt, ob zwei SessionChangeDescription-Strukturen gleich sind.

Inequality(SessionChangeDescription, SessionChangeDescription)

Gibt einen Wert zurück, der angibt, ob zwei SessionChangeDescription-Strukturen ungleich sind.

Gilt für:

Produkt Versionen
.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