Freigeben über


Gewusst wie: Veröffentlichen von Metadaten für einen Dienst über den Code

Dies ist eines der beiden "Gewusst wie"-Themen, die erläutern, wie Sie Metadaten für einen Windows Communication Foundation (WCF)-Dienst veröffentlichen. Es gibt zwei Möglichkeiten, wie ein Dienst Metadaten veröffentlichen kann: mit einer Konfigurationsdatei und mit Code. In diesem Thema wird gezeigt, wie Sie Metadaten für einen Dienst mithilfe von Code veröffentlichen. Weitere Informationen zur Veröffentlichung von Metadaten in einer Konfigurationsdatei finden Sie unter Gewusst wie: Veröffentlichen von Metadaten für einen Dienst mithilfe einer Konfigurationsdatei. Die Veröffentlichung von Metadaten ermöglicht es Clients, Metadaten über eine WS-Transfer GET-Anforderung oder eine HTTP/GET-Anforderung mithilfe einer ?wsdl-Abfragezeichenfolge abzurufen. Erstellen Sie einen grundlegenden WCF-Dienst, um sicherzustellen, dass der Code funktioniert. Im folgenden Code wird ein grundlegender, selbst gehosteter Dienst bereitgestellt:

So veröffentlichen Sie Metadaten im Code

  1. Instanziieren Sie in der Hauptmethode einer Konsolenanwendung ein ServiceHost-Objekt, indem Sie den Diensttyp und die Basisadresse übergeben.

  2. Erstellen Sie unmittelbar unter dem Code für Schritt 1 einen try-Block, um alle Ausnahmen abzufangen, die während der Ausführung des Diensts ausgelöst werden.

  3. Überprüfen Sie, ob der Diensthost bereits ein ServiceMetadataBehavior enthält. Ist dies nicht der Fall, erstellen Sie eine neue ServiceMetadataBehavior-Instanz.

  4. Legen Sie die HttpGetEnabled-Eigenschaft auf true. fest.

  5. Das ServiceMetadataBehavior-Objekt enthält die MetadataExporter-Eigenschaft. Das MetadataExporter-Objekt enthält die PolicyVersion-Eigenschaft. Legen Sie den Wert der PolicyVersion-Eigenschaft auf Policy15 fest. Die PolicyVersion-Eigenschaft kann auch auf Policy12 festgelegt werden. Wenn die Eigenschaft auf Policy15 festgelegt wird, dann werden beim Metadatenexport Richtlinieninformationen erzeugt, die WS-Policy 1.5 entsprechen. Wird die Eigenschaft auf Policy12 festgelegt, dann werden beim Metadatenexport Richtlinieninformationen erzeugt, die WS-Policy 1.2 entsprechen.

  6. Fügen Sie die ServiceMetadataBehavior-Instanz der Verhaltensauflistung des Diensthosts hinzu.

  7. Fügen Sie dem Diensthost den Endpunkt für den Metadatenaustausch hinzu.

  8. Fügen Sie dem Diensthost einen Anwendungsendpunkt hinzu.

  9. Öffnen Sie den Diensthost, und warten Sie auf eingehende Aufrufe. Schließen Sie den Diensthost, wenn der Benutzer die Eingabetaste drückt.

  10. Erstellen Sie die Konsolenanwendung, und führen Sie sie aus.

  11. Rufen Sie mithilfe des Internet Explorers die Basisadresse des Diensts auf (in diesem Beispiel https://localhost:8001/MetadataSample), und stellen Sie sicher, dass die Metadatenveröffentlichung aktiviert ist. Es sollte eine Webseite angezeigt werden, die am oberen Rand den Text "Einfacher Dienst" und unmittelbar darunter den Text "Sie haben einen Dienst erstellt" enthält. Wenn nicht, wird oben auf der Ergebnisseite folgende Meldung angezeigt: "Das Veröffentlichen von Metadaten für diesen Dienst ist derzeit deaktiviert."

Beispiel

Im folgenden Codebeispiel wird die Implementierung eines einfachen WCF-Diensts veranschaulicht, der Metadaten für diesen Dienst im Code veröffentlicht.

Siehe auch

Aufgaben

Gewusst wie: Hosten eines WCF-Diensts in einer verwalteten Anwendung
Gewusst wie: Veröffentlichen von Metadaten für einen Dienst mithilfe einer Konfigurationsdatei

Konzepte

Übersicht über die Metadatenarchitektur
Verwenden von Metadaten

Weitere Ressourcen

Self-Host