Konfigurieren von Rollen für Azure-Clouddienste mit Visual Studio

Hinweis

Dieser Artikel bezieht sich auf Azure Cloud Services (klassisch), das für neue Kunden nun veraltet ist und am 31. August 2024 eingestellt wird. Vorhandene Dienste, die mit dieser Technologie erstellt wurden, werden weiterhin über Azure Cloud Services (erweiterter Support) unterstützt. Für eine neue Entwicklung empfehlen wir, einen neueren Diensttyp zu verwenden, der für Ihren spezifischen Zweck entwickelt wurde, z. B. Azure App Service, Azure Functions oder Azure Container Apps. Die neueste Liste der verfügbaren Dienste finden Sie im Verzeichnis der Azure-Produkte.

Ein Azure-Clouddienst kann einen oder mehrere Worker- oder Webrollen aufweisen. Für jede Rolle müssen Sie definieren, wie die Rolle eingerichtet ist, und konfigurieren, wie die Rolle ausgeführt wird.

Die Informationen für Ihren Clouddienst werden in den folgenden Dateien gespeichert:

  • ServiceDefinition.csdef: Die Dienstdefinitionsdatei definiert die Laufzeiteinstellungen für Ihren Clouddienst, u. a. die erforderlichen Rollen, die Endpunkte und VM-Größe. Die in ServiceDefinition.csdef gespeicherten Daten können während der Ausführung der Rolle nicht geändert werden.
  • ServiceConfiguration.cscfg: Die Dienstkonfigurationsdatei konfiguriert, wie viele Instanzen einer Rolle ausgeführt werden, und die Werte der für eine Rolle definierten Einstellungen. Die in ServiceConfiguration.cscfg gespeicherten Daten können während der Ausführung der Rolle geändert werden.

Um verschiedene Werte für die Einstellungen zur Ausführungsweise der Rolle zu speichern, können mehrere Dienstkonfigurationen definiert werden. Sie können unterschiedliche Dienstkonfigurationen für die einzelnen Bereitstellungsumgebungen verwenden. Sie können beispielsweise die Verbindungszeichenfolge Ihres Speicherkontos so einstellen, dass der lokale Azure Storage Emulator in einer lokalen Dienstkonfiguration verwendet wird, und eine andere Dienstkonfiguration erstellen, um Azure Storage in der Cloud zu verwenden.

Beim Erstellen eines Azure-Clouddiensts in Visual Studio werden standardmäßig zwei Dienstkonfigurationen erstellt und Ihrem Azure-Projekt hinzugefügt:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

Voraussetzungen

Konfigurieren eines Azure-Clouddiensts

Sie können einen Azure-Clouddienst vom Projektmappen-Explorer in Visual Studio aus konfigurieren, wie in den folgenden Schritten dargestellt:

  1. Erstellen oder öffnen Sie ein Azure-Clouddienstprojekt in Visual Studio.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie im Kontextmenü die Option Eigenschaften aus.

    Solution Explorer project context menu

  3. Wählen Sie auf der Eigenschaftenseite des Projekts die Registerkarte Entwicklung aus.

    Project properties page - development tab

  4. Wählen Sie in der Liste Dienstkonfiguration den Namen der Dienstkonfiguration aus, die Sie bearbeiten möchten. (Wenn Sie Änderungen an allen Dienstkonfigurationen für diese Rolle vornehmen möchten, wählen Sie Alle Konfigurationen aus.)

    Wichtig

    Wenn Sie eine bestimmte Dienstkonfiguration auswählen, sind einige Eigenschaften deaktiviert, da sie nur für alle Konfigurationen festgelegt werden können. Um diese Eigenschaften zu bearbeiten, müssen Sie Alle Konfigurationen auswählen.

    Service Configuration list for an Azure cloud service

Ändern der Anzahl von Rolleninstanzen

Um die Leistung des Clouddiensts zu verbessern, können Sie die Anzahl der ausgeführten Instanzen einer Rolle basierend auf der Anzahl der Benutzer oder der erwarteten Auslastung für eine Rolle ändern. Wenn der Clouddienst in Azure ausgeführt wird, wird ein separater virtueller Computer für jede Instanz einer Rolle erstellt. Dies wirkt sich auf die Abrechnung für die Bereitstellung dieses Clouddiensts aus. Weitere Informationen zur Abrechnung finden Sie unter Informationen zu Ihrer Rechnung für Microsoft Azure.

  1. Erstellen oder öffnen Sie ein Azure-Clouddienstprojekt in Visual Studio.

  2. Erweitern Sie im Projektmappen-Explorer den Projektknoten. Klicken Sie unter dem Knoten Rollen mit der rechten Maustaste auf die Rolle, die Sie aktualisieren möchten, und wählen Sie im Kontextmenü Eigenschaften aus.

    Solution Explorer Azure role context menu

  3. Wählen Sie die Registerkarte Konfiguration aus.

    Configuration tab

  4. Wählen Sie in der Liste Dienstkonfiguration die Dienstkonfiguration aus, die Sie aktualisieren möchten.

    Service Configuration list 1

  5. Geben Sie im Textfeld Instanzenanzahl die Anzahl der Instanzen ein, die Sie für diese Rolle starten möchten. Jede Instanz wird auf einem separaten virtuellen Computer ausgeführt, wenn Sie den Clouddienst in Azure veröffentlichen.

    Updating the Instance Count

  6. Wählen Sie auf der Symbolleiste von Visual Studio Speichern aus.

Verwalten von Verbindungszeichenfolgen für Speicherkonten

Sie können Verbindungszeichenfolgen für Ihre Dienstkonfigurationen hinzufügen, entfernen oder ändern. Beispielsweise möchten Sie eine lokale Verbindungszeichenfolge für eine lokale Dienstkonfiguration mit dem Wert UseDevelopmentStorage=truefestlegen. Sie können auch eine Clouddienstkonfiguration konfigurieren, die ein Speicherkonto in Azure verwendet.

Warnung

Wenn Sie die Azure Storage-Kontoschlüsselinformationen für eine Speicherkonto-Verbindungszeichenfolge eingeben, werden diese Informationen lokal in der Dienstkonfigurationsdatei gespeichert. Diese Informationen werden jedoch derzeit nicht als verschlüsselter Text gespeichert.

Wenn Sie verschiedene Werte für die einzelnen Dienstkonfigurationen verwenden, müssen Sie nicht verschiedene Verbindungszeichenfolgen im Clouddienst verwenden oder Ihren Code ändern, wenn Sie Ihren Clouddienst in Azure veröffentlichen. Im Code können Sie denselben Namen für die Verbindungszeichenfolge verwenden. Der Wert unterscheidet sich basierend auf der Dienstkonfiguration, die Sie auswählen, wenn Sie einen Clouddienst erstellen oder veröffentlichen.

  1. Erstellen oder öffnen Sie ein Azure-Clouddienstprojekt in Visual Studio.

  2. Erweitern Sie im Projektmappen-Explorer den Projektknoten. Klicken Sie unter dem Knoten Rollen mit der rechten Maustaste auf die Rolle, die Sie aktualisieren möchten, und wählen Sie im Kontextmenü Eigenschaften aus.

    Solution Explorer Azure role context menu

  3. Wählen Sie die Registerkarte Einstellungen aus.

    Settings tab

  4. Wählen Sie in der Liste Dienstkonfiguration die Dienstkonfiguration aus, die Sie aktualisieren möchten.

    Service Configuration

  5. Wenn Sie eine Verbindungszeichenfolge hinzufügen möchten, wählen Sie Einstellung hinzufügen aus.

    Add connection string

  6. Nachdem die neue Einstellung zur Liste hinzugefügt wurde, aktualisieren Sie die Zeile in der Liste mit den erforderlichen Informationen.

    New connection string

    • Name: Geben Sie den Namen ein, den Sie für die Verbindungszeichenfolge verwenden möchten.
    • Typ – Wählen Sie Connection String aus der Dropdown-Liste.
    • Wert: Sie können die Verbindungszeichenfolge entweder direkt in die Zelle Wert eingeben oder die Auslassungspunkte (...) auswählen, um im Dialogfeld Verbindungszeichenfolge für den Speicher erstellen zu arbeiten.
  7. Wählen Sie im Dialogfeld Verbindungszeichenfolge für den Speicher erstellen eine Option für Herstellen einer Verbindung mit aus. Befolgen Sie dann die Anweisungen für die ausgewählte Option:

    • Microsoft Azure-Speicheremulator: Wenn Sie diese Option auswählen, werden die restlichen Einstellungen im Dialogfeld deaktiviert, da sie nur für Azure gelten. Klickan Sie auf OK.
    • Ihr Abonnement – Wenn Sie diese Option wählen, verwenden Sie die Dropdown-Liste, um entweder ein Microsoft-Konto auszuwählen und sich bei diesem anzumelden oder ein Microsoft-Konto hinzuzufügen. Wählen Sie ein Azure-Abonnement- und -Speicherkonto aus. Klicken Sie auf OK.
    • Manuell eingegebene Anmeldeinformationen: Geben Sie den Speicherkontonamen und dann entweder den primären oder den sekundären Schlüssel ein. Wählen Sie eine Option für Verbindung (HTTPS wird für die meisten Szenarien empfohlen) und dann OK aus.
  8. Um eine Verbindungszeichenfolge zu löschen, wählen Sie die Verbindungszeichenfolge aus, und wählen Sie dann Einstellung entfernen aus.

  9. Wählen Sie auf der Symbolleiste von Visual Studio Speichern aus.

Programmgesteuerter Zugriff auf eine Verbindungszeichenfolge

Die folgenden Schritte zeigen, wie Sie programmgesteuert mithilfe von C# auf eine Verbindungszeichenfolge zugreifen.

  1. Fügen Sie einer C#-Datei, in der Sie die Einstellung verwenden möchten, die folgenden using-Direktiven hinzu:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Der folgende Code ist ein Beispiel für den Zugriff auf eine Verbindungszeichenfolge. Ersetzen Sie den Platzhalter <ConnectionStringName> durch den passenden Wert.

    // Setup the connection to Azure Storage
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("<ConnectionStringName>"));
    

Hinzufügen benutzerdefinierter Einstellungen zur Verwendung in Ihrem Azure-Clouddienst

Benutzerdefinierte Einstellungen in der Dienstkonfigurationsdatei ermöglichen das Hinzufügen eines Namens und eines Werts für eine Zeichenfolge für eine bestimmte Dienstkonfiguration. Sie können diese Einstellung verwenden, um ein Feature in Ihrem Clouddienst zu konfigurieren, indem Sie den Wert der Einstellung lesen und diesen Wert zum Steuern der Logik im Code verwenden. Sie können diese Dienstkonfigurationswerte ohne erneute Erstellung des Dienstpakets oder während der Ausführung des Clouddiensts ändern. Der Code kann auf Benachrichtigungen bzgl. Änderungen einer Einstellung prüfen. Weitere Informationen finden Sie unter RoleEnvironment.Changing Event.

Sie können benutzerdefinierte Einstellungen für Ihre Dienstkonfigurationen hinzufügen, entfernen oder ändern. Möglicherweise möchten Sie verschiedene Werte für diese Zeichenfolgen für verschiedene Dienstkonfigurationen verwenden.

Wenn Sie verschiedene Werte für die einzelnen Dienstkonfigurationen verwenden, müssen Sie nicht verschiedene Zeichenfolgen im Clouddienst verwenden oder Ihren Code ändern, wenn Sie Ihren Clouddienst in Azure veröffentlichen. Im Code können Sie denselben Namen für die Zeichenfolge verwenden. Der Wert unterscheidet sich basierend auf der Dienstkonfiguration, die Sie auswählen, wenn Sie einen Clouddienst erstellen oder veröffentlichen.

  1. Erstellen oder öffnen Sie ein Azure-Clouddienstprojekt in Visual Studio.

  2. Erweitern Sie im Projektmappen-Explorer den Projektknoten. Klicken Sie unter dem Knoten Rollen mit der rechten Maustaste auf die Rolle, die Sie aktualisieren möchten, und wählen Sie im Kontextmenü Eigenschaften aus.

    Solution Explorer Azure role context menu

  3. Wählen Sie die Registerkarte Einstellungen aus.

    Settings tab

  4. Wählen Sie in der Liste Dienstkonfiguration die Dienstkonfiguration aus, die Sie aktualisieren möchten.

    Service Configuration list 2

  5. Zum Hinzufügen einer benutzerdefinierten Einstellung wählen Sie Einstellung hinzufügen aus.

    Add custom setting

  6. Nachdem die neue Einstellung zur Liste hinzugefügt wurde, aktualisieren Sie die Zeile in der Liste mit den erforderlichen Informationen.

    New custom setting

    • Name: Geben Sie den Namen der Einstellung ein.
    • Typ – Wählen Sie String aus der Dropdown-Liste.
    • Wert: Geben Sie den Wert der Einstellung ein. Sie können den Wert entweder direkt in die Zelle Wert eingeben oder die Auslassungspunkte (...) auswählen, um den Wert im Dialogfeld Zeichenfolge bearbeiten einzugeben.
  7. Um eine benutzerdefinierte Einstellung zu löschen, wählen Sie die Einstellung aus, und wählen Sie dann Einstellung entfernen aus.

  8. Wählen Sie auf der Symbolleiste von Visual Studio Speichern aus.

Programmgesteuerter Zugriff auf den Wert einer benutzerdefinierten Einstellung

Die folgenden Schritte zeigen, wie Sie programmgesteuert mithilfe von C# auf eine benutzerdefinierte Einstellung zugreifen.

  1. Fügen Sie einer C#-Datei, in der Sie die Einstellung verwenden möchten, die folgenden using-Direktiven hinzu:

    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Storage;
    using Microsoft.WindowsAzure.ServiceRuntime;
    
  2. Der folgende Code ist ein Beispiel für den Zugriff auf eine benutzerdefinierte Einstellung. Ersetzen Sie den Platzhalter <SettingName> durch den passenden Wert.

    var settingValue = RoleEnvironment.GetConfigurationSettingValue("<SettingName>");
    

Verwalten von lokalem Speicher für jede Rolleninstanz

Sie können lokalen Dateisystemspeicher für jede Instanz einer Rolle hinzufügen. Auf die im betreffenden Speicher gespeicherten Daten können weder andere Instanzen der Rolle, für die die Daten gespeichert wurden, noch andere Rollen zugreifen.

  1. Erstellen oder öffnen Sie ein Azure-Clouddienstprojekt in Visual Studio.

  2. Erweitern Sie im Projektmappen-Explorer den Projektknoten. Klicken Sie unter dem Knoten Rollen mit der rechten Maustaste auf die Rolle, die Sie aktualisieren möchten, und wählen Sie im Kontextmenü Eigenschaften aus.

    Solution Explorer Azure role context menu

  3. Wählen Sie die Registerkarte Lokaler Speicher aus.

    Local storage tab

  4. Stellen Sie sicher, dass in der Liste Dienstkonfiguration der Eintrag Alle Konfigurationen ausgewählt ist, da sich die Einstellungen für den lokalen Speicher auf alle Dienstkonfigurationen beziehen. Jeder andere Wert führt dazu, dass alle Eingabefelder auf der Seite deaktiviert werden.

    Service Configuration list 3

  5. Um einen lokalen Speichereintrag hinzuzufügen, wählen Sie Lokalen Speicher hinzufügen aus.

    Add local storage

  6. Nachdem der neue lokale Speichereintrag zur Liste hinzugefügt wurde, aktualisieren Sie die Zeile in der Liste mit den erforderlichen Informationen.

    New local storage entry

    • Name: Geben Sie den Namen ein, den Sie für den neuen lokalen Speicher verwenden möchten.
    • Größe (MB): Geben Sie die benötigte Größe in MB für den neuen lokalen Speicher ein.
    • Bei Wiederverwendung der Rolle bereinigen: Aktivieren Sie diese Option, um die Daten im neuen lokalen Speicher zu entfernen, wenn der virtuelle Computer für die Rolle wiederverwendet wird.
  7. Um einen lokalen Speichereintrag zu löschen, wählen Sie den Eintrag aus, und wählen Sie dann Lokalen Speicher entfernen aus.

  8. Wählen Sie auf der Symbolleiste von Visual Studio Speichern aus.

Programmgesteuerter Zugriff auf lokalen Speicher

Dieser Abschnitt veranschaulicht den programmgesteuerten Zugriff auf lokalen Speicher mithilfe einer in C# erstellten Texttestdatei MyLocalStorageTest.txt.

Schreiben einer Textdatei in den lokalen Speicher

Der folgende Code zeigt ein Beispiel für das Schreiben einer Textdatei in den lokalen Speicher. Ersetzen Sie den Platzhalter <LocalStorageName> durch den passenden Wert.

// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("<LocalStorageName>");

//Define the file name and path
string[] paths = { localResource.RootPath, "MyLocalStorageTest.txt" };
String filePath = Path.Combine(paths);

using (FileStream writeStream = File.Create(filePath))
{
    Byte[] textToWrite = new UTF8Encoding(true).GetBytes("Testing Web role storage");
    writeStream.Write(textToWrite, 0, textToWrite.Length);
}

Suchen einer in den lokalen Speicher geschriebenen Datei

Um die durch den Code im vorhergehenden Abschnitt erstellte Datei anzuzeigen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie im Windows-Infobereich mit der rechten Maustaste auf das Azure-Symbol, und wählen Sie dann im Kontextmenü Serveremulator-UI anzeigen aus.

    Show Azure compute emulator

  2. Wählen Sie die Webrolle aus:

    Azure compute emulator

  3. Wählen Sie im Menü Microsoft Azure-ServeremulatorExtras>Lokalen Speicher öffnen aus.

    Open local store menu item

  4. Wenn das Fenster des Windows Explorer geöffnet wird, geben Sie im Textfeld Suchen „MyLocalStorageTest.txt“ ein, und wählen Sie Eingabe aus, um die Suche zu starten.

Unter Konfigurieren eines Azure-Projektserhalten Sie weitere Informationen zu Azure-Projekten in Visual Studio. Informationen zum Clouddienstschema finden Sie unter Schemareferenz.