Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Application.SessionEnding-Ereignis

Tritt ein, wenn ein Benutzer die Windows-Sitzung beendet, indem er sich abmeldet oder das Betriebssystem herunterfährt.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
public event SessionEndingCancelEventHandler SessionEnding
<object SessionEnding="SessionEndingCancelEventHandler" .../>

In der Standardeinstellung wird eine Anwendung heruntergefahren, wenn die Windows-Sitzung beendet wird. Dies ist der Fall, wenn sich ein Benutzer abmeldet oder den Computer herunterfährt. In diesem Fall fordert Windows jede geöffnete Anwendung zum Herunterfahren auf. In einigen Fällen ist eine Anwendung jedoch nicht zum Herunterfahren bereit, wenn dieser Fall eintritt. Zum Beispiel kann eine Anwendung Daten enthalten, die sich in einem inkonsistenten Zustand oder in einem langwierigen Vorgang befinden. In solchen Situationen kann es sich empfehlen, das Beenden der Sitzung zu verhindern und stattdessen den Benutzern die Entscheidung zu übergeben, ob die Sitzung beendet werden soll.

Sie können ermitteln, wenn eine Sitzung beendet wird, indem Sie das SessionEnding-Ereignis behandeln. Wenn eine Anwendung das Beenden der Sitzung verhindern muss, macht das an den Ereignishandler übergebene SessionEndingCancelEventArgs-Argument das Cancel verfügbar, das Sie auf true festgelegt haben (der Standardwert ist false).

Wenn SessionEnding nicht behandelt oder ohne Abbrechen behandelt wird, wird Shutdown aufgerufen, und das Exit-Ereignis wird ausgelöst.

Um weitere Informationen zum Grund für das Beenden einer Sitzung abzurufen, kann eine Anwendung ReasonSessionEnding untersuchen, d. h. einen der ReasonSessionEnding-Werte (Logoff und Shutdown).

SessionEnding wird nicht von Konsolenanwendungen ausgelöst.

SessionEnding wird nur in dem Thread ausgelöst, der das Application-Objekt erstellt.

SessionEnding wird für XAML-Browseranwendungen (XBAPs) nicht ausgelöst.

Das folgende Beispiel veranschaulicht, wie das SessionEnding-Ereignis behandelt und es Benutzern ermöglicht wird, dieses abzubrechen.


<Application 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="SDKSample.App"
    StartupUri="MainWindow.xaml"
    SessionEnding="App_SessionEnding" />




Imports Microsoft.VisualBasic
Imports System.Windows ' Application, SessionEndingCancelEventArgs, MessageBox, MessageBoxResult, MessageBoxButton

Namespace SDKSample
	Partial Public Class App
		Inherits Application
		Private Sub App_SessionEnding(ByVal sender As Object, ByVal e As SessionEndingCancelEventArgs)
			' Ask the user if they want to allow the session to end
			Dim msg As String = String.Format("{0}. End session?", e.ReasonSessionEnding)
			Dim result As MessageBoxResult = MessageBox.Show(msg, "Session Ending", MessageBoxButton.YesNo)

			' End session, if specified
			If result = MessageBoxResult.No Then
				e.Cancel = True
			End If
		End Sub
	End Class
End Namespace



using System.Windows; // Application, SessionEndingCancelEventArgs, MessageBox, MessageBoxResult, MessageBoxButton

namespace SDKSample
{
    public partial class App : Application
    {
        void App_SessionEnding(object sender, SessionEndingCancelEventArgs e)
        {
            // Ask the user if they want to allow the session to end
            string msg = string.Format("{0}. End session?", e.ReasonSessionEnding);
            MessageBoxResult result = MessageBox.Show(msg, "Session Ending", MessageBoxButton.YesNo);

            // End session, if specified
            if (result == MessageBoxResult.No)
            {
                e.Cancel = true;
            }
        }
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.