Frage

Wir entwickeln eine neue Mittelstufe für unsere Anwendungssuite. Wir möchten unsere Geschäftslogik- und Datenzugriffsebene in C#umschreiben, da sie derzeit in VB6 sind und über COM+veröffentlicht werden.

Wir versuchen zu entscheiden, wie genau diese mittlere Stufe verschiedenen Kunden zur Verfügung gestellt werden kann. Wir werden WCF dafür verwenden, und wir haben beschlossen, dass wir eine Vielzahl von Bindungen verwenden, um die Anforderungen jedes Kunden zu erleichtern, einschließlich eines NettCPBinding für unsere Desktop -App, ein net.tcp und/oder benannte Pipe Bindung für eine Internet -App, die entweder lokal oder auf einer Maschine innerhalb des Netzwerks ausgeführt wird, und ein gewisses Geschmack der HTTP -Bindung für eine externe Web -API.

Wir versuchen zu entscheiden, wie wir unseren Service hosten können. Es scheint, als ob die meisten Orte, an denen ich sage, dass IIS der richtige Weg ist, aber es scheint, als würden Sie aus dem BLL/DAL Um sich öfter selbst zu veranstalten. Hosten wir es also unter IIS, unter einem Dienst oder einem Hybrid, bei dem vielleicht ein dünner Service für den HTTP -Endpunkt in IIS gehostet wird und den Hauptdienst über ein Netz.TCP oder benannte Pipe -Bindung verbraucht? Durch das Trennen kann es bei Bedarf eine physische Trennung geben, und ermöglicht die Möglichkeit, dass IIS untergeht, was den Service für die Kunden, die auf die von ihm veröffentlichten Endpunkte zugreifen, weiterhin liefern lassen.

Was ist mit Skalierbarkeit und Zuverlässigkeit? Gibt es auf diese Weise viel Unterschied zwischen den beiden Hosting -Umgebungen?

Mir ist klar, dass es viele ähnliche Fragen gibt, aber ich konnte nicht die Informationen finden, nach denen ich gesucht habe. Links zu konkreteren Arbeiten helfen also genauso gut wie eine Antwort.

War es hilfreich?

Lösung

Das Lesen dieser Antwort scheint darauf hinzudeuten, dass Selbsthosting die Präferenz von Marc_s basierend auf der Annahme des Overhead bei der Codierung des Hosts selbst ist:

IIS WCF Service Hosting vs Windows Service

IIS gibt Ihnen viel kostenlos. Ich würde sagen, dass es keine schlechte Idee ist, dies vorher zu bedenken, aber nichts ist besser, als die Leistungsmetriken zu messen, um die kalten, harten Fakten darüber zu erhalten, was für Ihre Lösung am besten ist.

Versuchen Sie es mit IIS und wenn es wirklich so arm ist, erstellen Sie Ihren eigenen Gastgeber. Es ist nicht gerade teuer, es in IIS in Gang zu bringen - und es gibt einige Tipps im Internet.

Aktualisieren: gepostet, kurz nachdem marc_s kommentiert wurde. Ich stimme grundsätzlich zu, aber das Hosting selbst zu tun, könnte sich als kein Nutzen als Overhead erweisen. IIS ist bis zu einem gewissen Grad nicht mehr in den Schachtel und hat seine Einschränkungen - Einschränkungen, denen Sie möglicherweise nie begegnen.

Ich bin mir der Relevanz dieses Feedbacks nicht sicher, aber wir verwenden IIS, um .NET -Remoting -Objekte für unsere Anwendung zu hosten. Derzeit wird ein sehr erheblicher Leistungsmetrik -Sammelprozess durchgeführt, um sich auf einen Faktor der 10 -Skala aufgrund eines neuen Kunden vorzubereiten. Für uns wurde IIS nicht als etwas, worüber es sich lohnt, sich Sorgen zu machen. Über der einzigen Knackpunkt ist die Leute, dass es über HTTP (ältere IIS-Version für uns) ist.

Aktualisieren: Dieser MSDN-Artikel berührt das Selbsthosting und erläutert einige zu berücksichtigende Punkte:

http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic3

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top