Hierarchisches KonfigurationsmodellHierarchical Configuration Model

In diesem Beispiel wird veranschaulicht, wie eine Hierarchie von Konfigurationsdateien für Dienste implementiert wird.This sample demonstrates how to implement a hierarchy of configuration files for services. Es wird auch gezeigt, wie Bindungen, Dienstverhalten und Endpunktverhalten von höheren Ebenen in der Hierarchie geerbt werden.It also shows how bindings, service behaviors, and endpoint behaviors are inherited from higher levels in the hierarchy.

BeispieldetailsSample details

Eine der Funktionen, die für WCFWCF in .NET Framework Version 4.NET Framework version 4 entwickelt wurden, besteht in der Verbesserung des hierarchischen Konfigurationsmodells.One of the features developed for WCFWCF in .NET Framework Version 4.NET Framework version 4 is the improvement in the hierarchical configuration model. Ein hierarchisches Konfigurationsmodell ist z. B. das Modell, das von Machine.config -> Rootweb.config -> Web.config definiert wurde. In .NET Framework 4.NET Framework 4 werden die Bindungen und Verhaltensweisen, die in den oberen Ebenen der Konfigurationshierarchie definiert werden, zum Dienst ohne explizite Konfiguration hinzugefügt.An example of a hierarchical configuration model would be the one defined by Machine.config -> Rootweb.config -> Web.config. In .NET Framework 4.NET Framework 4, those bindings and behaviors that are defined in upper levels in the configuration hierarchy are added to your services with no explicit configuration. In diesem Beispiel wird gezeigt, wie die Dienstkonfiguration basierend auf Konfigurationselementen vereinfacht werden kann, die auf Computer- oder Anwendungsebene definiert sind.This sample shows how it is possible to simplify your service configuration by relying on configuration elements defined at the computer or the application level.

Dieses Beispiel umfasst neun Dienste, die in drei Hierarchieebenen definiert sind.This sample consists of nine services, defined in three levels of hierarchy. Service1 befindet sich auf der Stammebene.Service1 is at the root. Service2 und Service3 erben die Standardelemente von Service1.Service2 and Service3 inherit the default elements from Service1. Service4, Service5, Service6 und Service7 werden auf einer dritten Ebene der Hierarchie definiert und erben die Standardelemente von Service3.Service4, Service5, Service6 and Service7 are defined at a third level of the hierarchy, inheriting the default elements from Service3. Service10 und Service11 befinden sich schließlich auf einer vierten Ebene der Hierarchie.Finally Service10 and Service11 are at a fourth level of the hierarchy.

Alle Dienste implementieren den IDesc-Vertrag.All the services implement the IDesc contract. Nachfolgend wird die Definition der IDesc-Schnittstelle mit den in dieser Schnittstelle verfügbar gemachten Methoden anzeigt.The following is the definition of the IDesc interface that shows the methods exposed in this interface. Die IDesc-Schnittstelle wird in Service1.cs definiert.The IDesc interface is defined in Service1.cs.

// Define a service contract  
[ServiceContract(Namespace="http://Microsoft.Samples.ConfigHierarchicalModel")]  
public interface IDesc  
{  
    [OperationContract]  
    List<string> ListEndpoints();  
    [OperationContract]  
    List<string> ListServiceBehaviors();  
    [OperationContract]  
    List<string> ListEndpointBehaviors();  
}  

Die Implementierung dieser Methoden durch die Dienste ist einfach.The implementation of these methods by the services is straightforward. ListEndpoints durchläuft alle Dienstendpunkte und gibt eine Liste aller Endpunkte des Diensts zurück.ListEndpoints iterates through all the service endpoints and returns a list of all the endpoints that the service has. ListServiceBehaviors durchläuft alle dem Dienst hinzugefügten Verhaltensweisen und gibt eine Liste mit allen dem Dienst zugeordneten Dienstverhaltensweisen zurück.ListServiceBehaviors iterates through all the behaviors added to the service and returns the list of all the service behaviors associated with the service. ListEndpointBehaviors verhält sich ähnlich wie ListServiceBehaviors, gibt jedoch eine Liste mit Verhaltensweisen von Endpunkten zurück.ListEndpointBehaviors behaves in a similar way to ListServiceBehaviors, but it returns the list of endpoint behaviors instead.

Diese Implementierung ermöglicht es, dass der Client die Anzahl der vom Dienst verfügbar gemachten Endpunkte und die dem Dienst hinzugefügten Verhaltensweisen und Endpunktverhaltensweisen kennt.This implementation allows the client to know how many endpoints the service is exposing and which service behaviors and endpoint behaviors have been added to the service. Der Client, der als Teil des Beispiels implementiert wurde, fügt allen Diensten in der Projektmappe einen Dienstverweis hinzu und zeigt diese Elemente für jeden der Dienste an.The client that has been implemented as part of the sample adds a service reference to all the services in the solution and shows these elements for each one of the services.

So verwenden Sie dieses BeispielTo use this sample

So führen Sie den Client ausTo run the client

  1. Öffnen Sie die Datei ConfigHierarchicalModel.sln in Visual Studio 2012Visual Studio 2012.Using Visual Studio 2012Visual Studio 2012, open the ConfigHierarchicalModel.sln file.

  2. Wenn das Clientprojekt nicht bereits als Startprojekt eingerichtet ist, führen Sie folgende Schritte aus.The client project is not already set up as the start-up project, follow these steps.

    1. In Projektmappen-Explorermit der rechten Maustaste auf die Projektmappe, und wählen Sie dann Eigenschaften.In Solution Explorer, right-click the solution and then select Properties.

    2. In allgemeine EigenschaftenOption Startprojekt, und klicken Sie dann auf einzelnes Startprojekt.In Common Properties, select Startup Project, and then click Single startup project.

    3. Aus der einzelnes Startprojekt Dropdownliste, wählen Client.From the Single startup project drop-down, select Client.

    4. Klicken Sie auf OK um das Dialogfeld zu schließen.Click OK to close the dialog.

  3. Drücken Sie STRG+UMSCHALT+B, um das Beispiel zu erstellen.To build the sample, press CTRL+SHIFT+B.

  4. Drücken Sie STRG + F5, um den Client auszuführen.To run the client, press Ctrl+F5.

Hinweis

Wenn diese Schritte nicht funktionieren, stellen Sie mithilfe der folgenden Schritte sicher, dass die Umgebung ordnungsgemäß eingerichtet wurde.If these steps do not work, then make sure that your environment has been properly set up, using the following steps.

  1. Stellen Sie sicher, dass Sie ausgeführt haben die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Ensure that you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.
    1. Führen Sie zum Erstellen der Projektmappe die Anweisungen im Erstellen der Windows Communication Foundation-Beispiele.To build the solution, follow the instructions in Building the Windows Communication Foundation Samples.
    2. Um das Beispiel in einer einzelnen oder Konfigurationen mit mehreren Computern ausführen, befolgen Sie die Anweisungen Ausführen der Windows Communication Foundation-Beispiele.To run the sample in a single or multiple computer configurations, follow the instructions in Running the Windows Communication Foundation Samples.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) - und WFWF -Beispiele herunterzuladen.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\ConfigHierarchicalModel

Siehe auchSee Also

Beispiele für AppFabric-ManagementAppFabric Management Samples