Dienstverwaltungsdienst
Windows Server AppFabric stellt eine Umgebung zum Ausführen und Verwalten von WCF- und WF-Diensten zur Verfügung. Der Dienstverwaltungsdienst optimiert die AppFabric-Verwaltungsfunktionen zusätzlich, indem er Clients den Remotestart von Diensten ermöglicht. Der Dienstverwaltungsdienst ist ein WCF-Dienst, den AppFabric automatisch allen Webanwendungen hinzufügt, deren Attribut serviceManagement aktiviert ist.
Vom Dienstverwaltungsdienst unterstützte Szenarien
Der Dienstverwaltungsdienst unterstützt die folgenden Hauptszenarien.
Aktivierung von Workflowdienstinstanzen
Der Workflowverwaltungsdienst (WMS) ruft den Dienstverwaltungsdienst (SMS) zum Aktivieren von Workflowdienstinstanzen auf, die ausstehende Aufgaben besitzen. Der Dienstverwaltungsdienst aktiviert den Workflowdiensthost, der einen Instanzspeicher erstellt (z. B. einen SQL-Workflowinstanzspeicher) und eine Methode für den Informationsspeicher zum Laden der Workflowdienstinstanz aus dem Instanzspeicher in den Arbeitsspeicher aufruft. Weitere Informationen zur Instanzaktivierung finden Sie unter Workflowverwaltungsdienst.
Wichtig
Für den Workflowverwaltungsdienst muss das „net.pipe“-Protokoll für die Webanwendung aktiviert sein, die den Dienst enthält. Außerdem muss die „net.pipe“-Bindung für die Site aktiviert sein, die den Dienst enthält.
Geplanter Start von Diensten
In diesem Szenario startet ein benutzerdefiniertes Planungsmodul Dienste in einer Webanwendung gemäß einem von einem Benutzer erstellten Zeitplan. Ein Dienst muss z. B. einen Batch von Arbeitsaufgaben auf einer täglichen Basis verarbeiten. Beachten Sie, dass das Feature Dienstverwaltungsdienst dieses Szenario zwar aktiviert, jedoch kein benutzerdefiniertes Planungsmodul bereitstellt.
Konfigurationen
Die AppFabric-Installation fügt der Datei Web.config im Stammverzeichnis die folgenden Dienstaktivierungsparameter hinzu, die beim Aktivieren des Dienstverwaltungsdiensts für jede Webanwendung verwendet werden, deren Attribut serviceManagement aktiviert ist.
<system.serviceModel>
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="~/ServiceManagement.svc" service="Microsoft.ApplicationServer.Hosting.Management.ServiceManagement" factory="Microsoft.ApplicationServer.Hosting.Management.ServiceManagementFactory, Microsoft.ApplicationServer.Hosting, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
Der Dienstverwaltungsdienst unterstützt nur das „net.pipe“-Protokoll für Bindungen. Die Adresse eines Dienstverwaltungsdiensts, der einer Webanwendung hinzugefügt wird, entspricht dem folgenden Adressmuster: {Schema}://Hostname:Port/<Webanwendunf>/ServiceManagement.svc. Beispiel: net.pipe://localhost/VirtualApplicationB/ServiceManagement.svc.
Warnung
Die Windows Server AppFabric geht davon aus, dass die SVC-Erweiterung einem WCF-HTTP-Handler in der Web.config-Stammdatei zugeordnet ist. Wenn die SVC-Erweiterung einem anderen Handler als einem WCF-HTTP-Handler zugeordnet ist, tritt bei der SMS-Initialisierung (Service Management Service) ein Fehler auf. Wenn dem WCF-HTTP-Handler eine andere Erweiterung zugeordnet ist, aktualisieren Sie in der Web.config-Stammdatei die Erweiterung von SMS von SVC auf die entsprechende andere Erweiterung. Beachten Sie, dass diese Problemumgehung nicht funktioniert, wenn die Zuordnung des SVC-Handlers auf Anwendungsebene außer Kraft gesetzt wird.
Das Feature Dienstverwaltungsdienst ist standardmäßig aktiviert. Die AppFabric-Installation aktiviert das Feature, indem eine Element serviceManagement der Datei Web.config im Stammverzeichnis hinzugefügt und das Attribut enabled für das Element auf true festgelegt wird. Diese Einstellungen werden von den Anwendungs-, virtuellen Verzeichnis- und Dienstebenen geerbt. Daher ist das Attribut serviceManagement für alle Webanwendungen auf einem Computer aktiviert, auf dem AppFabric installiert ist.
<microsoft.applicationServer>
<hosting>
<serviceManagement enabled=”true” endpointConfiguration=”” authorizedWindowsGroup=”AS_Administrators” />
</hosting >
</microsoft.applicationServer>
Die folgende Tabelle enthält Beschreibungen der Attribute des Elements serviceManagement.
Attribut | Beschreibung |
---|---|
enabled |
Das AppFabric-Installationsprogramm legt dieses Attribut in der Datei Web.config im Stammverzeichnis standardmäßig auf true fest. |
authorizedWindowsGroup |
Die Windows-Gruppe, die Zugriff auf den Endpunkt besitzt, der vom Dienstverwaltungsdienst bereitgestellt wird. Das AppFabric-Installationsprogramm legt AS_Administrators als autorisierte Windows-Gruppe fest. Die Identität, unter der die Webanwendung ausgeführt wird, besitzt ebenfalls Zugriff auf den Endpunkt. |
endpointConfiguration |
Verweist auf einen Standard-Dienstverwaltungsendpunkt, der im Abschnitt standardEndpoints der Datei Web.config im Stammverzeichnis definiert ist. Der Standardwert dieses Attributs lautet ServiceManagementNetPipeEndpoint.
|
Sie können die Dienstverwaltung für eine Webanwendung deaktivieren, indem Sie der Datei Web.config der Webanwendung die folgende Konfiguration hinzufügen.
<serviceManagement enabled=”false” />
Sie können die gesamte Dienstverwaltung entfernen, indem Sie der Datei Web.config der Webanwendung die folgende Konfiguration hinzufügen.
<serviceActivations>
<remove relativeVirtualPath=”~/ServiceManagement.svc” />
</serviceActivations>
Hinweis
Der Dienstverwaltungsdienst verwendet die ServiceHostingEnvironment.EnsureServiceAvailable-Methode intern. Diese Methode unterstützt nicht die Verwendung von ASP .NET-Routingpfaden zum Aktivieren von Diensten. Daher wird dieses Aktivierungsszenario vom Dienstverwaltungsdienst nicht unterstützt.
Siehe auch
Konzepte
So wird es gemacht: Konsumieren von Service Management Service
2011-12-05