AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH

Consentire una singola istanza di un'applicazione Silverlight

Si può evitare l'esecuzione di più istanza di un'applicazione Silverlight, per esempio su più pagine, sfruttando i meccanismi di comunicazione fra applicazioni, per esempio all'avvio si tenta di creare un oggetto LocalMessageReceiver, se l'istanza è la prima tale tentativo andrà a buon fine, altrimenti verrà scatenata un'eccezione e si ptrà mostrare all'utente una pagina differente, con un messaggio che lo invita a chiudere la finestra.

 

private void Application_Startup(object sender, StartupEventArgs e)
{
            try
            {
                LocalMessageReceiver receiver = new LocalMessageReceiver("myAppSingleInstance");
                receiver.Listen();
                this.RootVisual = new MainPage();
            }
            catch (ListenFailedException)
            {
                this.RootVisual = new DuplicatePage();
            }
}