Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Evento Application.SessionEnding

si verifica quando l'utente termina Windows sessione di mediante disconnessione o interrompendo il sistema operativo.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event SessionEndingCancelEventHandler SessionEnding
<object SessionEnding="SessionEndingCancelEventHandler" .../>

Per impostazione predefinita, un'applicazione viene chiusa quando Windows la sessione viene chiusa, che si verifica quando un utente termina la sessione o arrestato. In questo caso, Windows chiede ogni applicazione aperta interrompere. Tuttavia, è possibile che un'applicazione non può essere pronta per interrompere l'esecuzione quando questo si verifica. Ad esempio, un'applicazione può contenere dati che si trovano in uno stato incoerente, o tra a un'operazione di lunga durata. In queste situazioni, può essere opportuno impedire la fine della sessione di e può essere preferibile consentire agli utenti la possibilità decidere se eseguirne il lasciare la sessione terminare.

È possibile rilevare la fine di una sessione di gestione SessionEnding evento. Se un'applicazione deve impedire la fine della sessione di, SessionEndingCancelEventArgs l'argomento passato al gestore eventi espone Cancel impostate su true (il valore predefinito è false).

se SessionEnding non è gestito, o viene gestito senza essere annullato, Shutdown viene chiamato e Exit l'evento viene generato.

Per ottenere ulteriori informazioni su perché viene terminata la sessione di, un'applicazione può controllare ReasonSessionEnding, ovvero uno di ReasonSessionEnding valori (Logoff e Shutdown).

SessionEnding non viene generato dalle applicazioni console.

SessionEnding viene generato solo nel thread di creazione Application oggetto.

SessionEnding non viene generato per applicazioni browser XAML (XBAP).

Nell'esempio seguente viene illustrato come gestire SessionEnding l'evento e consente all'utente di annullare lo.


<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

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft