VERTRIEB: 1-800-867-1380

Verwenden des RoleEnvironment.Changing-Ereignisses

Letzte Aktualisierung: November 2013

Mit dem Changing-Ereignis können Sie steuern, wie eine Rolleninstanz auf eine Konfigurationsänderung reagiert. Mithilfe des Changing-Ereignisses kann eine Instanz eine der folgenden Reaktionen auf eine Konfigurationsänderung aufweisen:

  • Die Instanz kann die Konfigurationsänderung während der Ausführung akzeptieren, ohne in den Offlinemodus zu wechseln.

  • Die Instanz kann das Changing-Ereignis abbrechen. In diesem Fall schaltet Windows Azure die Instanz offline, wendet die Konfigurationsänderung an und schaltet die Instanz dann wieder online.

Durch Abbrechen des Changing-Ereignisses können Sie sicherstellen, dass für die Instanz eine ordnungsgemäße Herunterfahrsequenz ausgeführt wird und dass die Instanz vor dem Anwenden der Konfigurationsänderung offline geschaltet wird. Windows Azure löst während des Herunterfahrens das Stopping-Ereignis aus und führt dann den Code in der OnStop-Methode aus.

noteHinweis
Das Changing-Ereignis muss innerhalb einer begrenzten Zeitspanne akzeptiert oder abgebrochen werden. Stellen Sie sicher, dass der Ereignishandler rechtzeitig beendet werden kann.

Sie sollten das Changing-Ereignis abbrechen, wenn eine der folgenden Bedingungen vorliegt:

  • Die Rolleninstanz unterstützt keine Konfigurationsänderungen während ihrer Ausführung und muss wiederverwendet werden, um die Änderung anzuwenden.

  • Die Rolleninstanz führt einen Vorgang aus, der nicht durch eine Konfigurationsänderung unterbrochen werden darf, und muss vor dem Anwenden der Änderung die Herunterfahrsequenz durchlaufen.

Die RoleEnvironmentChangingEventArgs-Klasse stellt eine Changes-Eigenschaft bereit, die eine Auflistung der Konfigurationsänderungen zurückgibt, die auf die Instanz angewendet werden sollen. Die Objekte in dieser Auflistung können einen der folgenden Typen aufweisen:

  • Die RoleEnvironmentConfigurationSettingChange-Klasse stellt eine Änderung des Werts einer Konfigurationseinstellung dar. Die ConfigurationSettingName-Eigenschaft gibt den Namen der Konfigurationseinstellung zurück, die geändert wird.

  • Die RoleEnvironmentTopologyChange-Klasse stellt eine Änderung an der Topologie des Diensts dar. Bei einer Änderung der Topologie handelt es sich um das Hinzufügen oder Entfernen von Instanzen einer Rolle. Die RoleName-Eigenschaft gibt den Namen der Rolle zurück, deren Instanzenanzahl geändert wird.

noteHinweis
Der Name der zu ändernden Konfigurationseinstellung wird angezeigt, Sie haben jedoch erst Zugriff auf den neuen Wert, wenn das Changed-Ereignis ausgelöst wird.

So definieren Sie den Ereignishandler

  1. Öffnen Sie die Quelldatei, in der Sie Konfigurationsänderungen behandeln.

  2. Stellen Sie sicher, dass das Projekt auf die Datei Microsoft.WindowsAzure.ServiceRuntime.dll verweist und dass der Datei die folgende using-Anweisung hinzugefügt wurde:

    using Microsoft.WindowsAzure.ServiceRuntime;
    
  3. Fügen Sie der OnStart-Methode den folgenden Code hinzu, um den Ereignishandler anzugeben:

    
    public override bool OnStart()
    {
       RoleEnvironment.Changing += RoleEnvironmentChanging;
                
       return base.OnStart();
    }
    
  4. Fügen Sie der Quelldatei die folgende Ereignishandlermethode hinzu:

    
    private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
    {
       // Add code for handling changes
    }
    
  5. Speichern Sie die Datei.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft