Wie kann ich eine HTML-Ausgabe des WCF-Dienstes mit meinen eigenen Inhalten ändern?

Lesezeit: 2 Minuten

Ich habe einen WCF-Dienst geschrieben, der BasicHttpBinding mit einer URL verwendet, und ein Client, der diesen Dienst verwendet. Benutzer sollten eine Clientanwendung starten und dieselbe URL angeben, die im Serverendpunkt angegeben ist.

Wenn ein Benutzer diese URL jedoch versehentlich in einem Webbrowser öffnet, sieht er Informationen zum Abrufen von Service-Metadaten, die für ihn absolut nutzlos sind.

Was ist zu tun, damit er/sie beispielsweise ein Hilfethema sieht?

  • Sie können Ihren Webserver so konfigurieren, dass er überprüft, ob der Benutzeragent ein Browser ist, und dann zu Hilfeinhalten umleitet.

    – Michael Mior

    29. August ’11 um 11:45

Wie kann ich eine HTML Ausgabe des WCF Dienstes mit meinen eigenen
Christophe Geers

Sie müssen die Veröffentlichung der Metadaten des Dienstes deaktivieren.

Sie können es in der Web.config deaktivieren:

<serviceMetadata httpGetEnabled="false" />

Weitere Informationen zu MSDN finden Sie hier:

Dadurch wird natürlich immer noch eine Standard-Landingpage generiert, wenn ein Benutzer die URL des Dienstes manuell in die Adressleiste eingibt (z. B.: http://www.examle.com/service.svc). Jetzt wird jedoch erwähnt, dass die Metadaten derzeit deaktiviert sind.

Wenn Sie diese Seite anpassen möchten, empfehle ich Ihnen, den folgenden Thread zu lesen, der ein vollständiges Codebeispiel zur Einrichtung enthält:

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/5778651a-b212-438a-b3e8-f7029775d52a/

Wenn Sie eine benutzerdefinierte Hilfeseite anstelle der Standardseite haben möchten, müssen Sie dies ändern ServiceDebug Verhalten:

<behaviors>
  <serviceBehaviors>
    <behavior name="...">
      <serviceDebug httpHelpPageEnabled="true" httpHelpPageUrl="Your custom page url" />
    </behavior>
  </serviceBehaviors>
<behaviors>

Dieselben Eigenschaften gibt es auch für HTTPS und bei speziellen Anforderungen können Sie auch deren “Bindung” steuern.

  • +1 für die Erwähnung von httpHelpPageUrl. Es scheint zwar nicht automatisch zur Hilfe-URL (social.msdn.microsoft.com/Forums/en-US/wcf/thread/…)

    – Christophe Geers

    29. August ’11 um 13:10

  • -1, weil dies nie so funktioniert hat, wie es beworben wird. Alle Kommentare, die Sie für dieses httpHelpPageUrl-Attribut finden, stammen von Leuten, die es offensichtlich noch nie ausprobiert haben. Der Thread von Christophe endet mit einer empfohlenen “Lösung”, die HTML aus c# in den Stream schreibt 🙁

    – Olaf Monien

    2. Februar ’12 um 21:57

.

452500cookie-checkWie kann ich eine HTML-Ausgabe des WCF-Dienstes mit meinen eigenen Inhalten ändern?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy