2008-11-04 7 views
5

Wenn Sie einen WCF-Dienst auf IIS hosten, können Sie den Endpunkt manuell oder deklarativ mithilfe von WebServiceHostFactory konfigurieren. Es scheint nicht so schwierig zu sein, den Endpunkt manuell zu erstellen, so dass ich dachte, ich würde fragen.Verwenden von WebServiceHostFactory Pros & Contras

  • Was sind die Vorteile von WebServiceHostFactory?
  • Gibt es Auswirkungen auf die Leistung beim dynamischen Erstellen der Endpunkte?

Antwort

3

Können Sie klären: Sie sind speziell über Web Servicehost (emph: "Web") zu fragen? Oder nur der Unterschied zwischen IIS Hosting vs Starten Ihres eigenen Servers durch Code?

WebServiceHostFactory ist neu in .NET 3.5 und unterstützt einige der neueren AJAX/JSON-Sachen.

Tatsächlich verwenden Sie innerhalb von IIS (mit .svc) bereits eine ServiceHostFactory - einfach die Standardversion, die mit WCF ausgeliefert wird. Sie können Ihre eigene Fabrik schreiben, wenn Sie wollen, und ich habe dies in der Vergangenheit getan, um eine Fabrik zu erstellen, die nur hört auf https (Ich hatte ein Problem auf einer Farm Hosting mehrerer Standorte, wo es nicht die richtige identifizieren konnte Seite für http, aber https war in Ordnung - so habe ich http über die Fabrik vollständig deaktiviert.

Leistung sollte nicht anders sein, solange Sie nicht verrückt gehen Sie und hören auf 200 Endpunkte ...

Im Allgemeinen manuelle Erstellen der Server verwendet, wenn Sie den Server in hosten (zum Beispiel) ein Windows-Dienst. IIS ist für einige Dinge in Ordnung, aber App-Pools werden recycelt, sind also nicht ideal für einen Server, der einen langlebigen Zustand beibehalten muss. IIS hat den Vorteil, dass es viel einfacher zu konfigurieren ist, insbesondere mit Sicherheit (SSL usw.) und Komprimierung.

+0

Ja, ich frage speziell über WEB-Service-Host – jdiaz

0

Ich bin definitiv kein Experte (noch) nicht, aber Nachteile, die den Sinn kommen, sind:

  • Sie nur eine Authentifizierung Methode zu einem Zeitpunkt haben kann (dh nicht beide Windows- und anonym.) Cf . WebServiceHostFactory and IIS authentication
  • Fehlerbehandlung schwierig ist, in einer allgemeiner Weise zu tun (kein Application_OnError, so werden Sie Ihre Endpunkte Setup manuell, nachdem alle)

Pro:

  • mühelos Einrichtung von REST-Diensten von Grund auf.
Verwandte Themen