2009-03-31 6 views
5

Ich verwende ServicedComponent von Enterprise AKA Com + fürGibt es einen modernen Ersatz für die Transaktions- und Pooling-Funktionen von Enterprise Services?

  • Verteilte Transaktionen
  • Einfache Transaktion Programmierung durch Attribute
  • Objektpooling

Dinge verwenden, die ich in com fehlen finden +

  • Das Fehlen von DLL Versionierung
  • Pain of gac & reg ändern, jedes Mal mit ich eine Komponente
  • Debugger anhängen Mit

Ich bin mir bewusst, dass WCF einige der gleichen Probleme wie COM + löst. Aber löst es alle? Könnte mir jemand in die richtige Richtung zeigen?

Dank

Antwort

7

Ich bin nicht sehr vertraut mit den Details von COM +, aber WCF wurde gebaut, um es und Enterprise Services in der .NET-Plattform zu ersetzen. Alle Anwendungsfälle, die Sie hier erwähnen, sind in das Framework eingebacken (Pooling, Transaktionen, Versionierung), und es ist ziemlich trivial, dagegen zu programmieren, solange Sie sich die Zeit nehmen, um zu lernen, wie es Dinge machen will. Wenn Sie die Dinge richtig konfiguriert haben, gibt es praktisch keine Grenzen mehr, was Sie damit tun können.

WCF untermauert auch eine Menge von dem, was Microsoft für die unmittelbare und langfristige Zukunft (Azure Services) arbeitet. Ich würde dies als eine lohnende Investition Ihrer Lernzeit betrachten, vor allem in Anbetracht Ihres COM + Hintergrunds.

Ich würde Juval Lowy's Buch als guten Ausgangspunkt empfehlen. Er ist wahrscheinlich ungefähr so ​​autoritativ wie Sie zu diesem Thema finden werden.

http://oreilly.com/catalog/9780596521301/?CMP=AFC-ak_book&ATT=Programming+WCF+Services%2c+Second+Edition%2c

würde ich Ihnen auch seine Unternehmens-Website IDesign Besuche empfehlen. Sie bieten nicht nur eine hervorragende Schulung, sondern auch eine sehr nützliche Bibliothek von WCF-Erweiterungen namens ServiceModelEx, die eine Reihe von Hilfsprogramm-Erweiterungen/Hilfsklassen bietet, die Ihr WCF-Leben erheblich vereinfachen.

http://www.idesign.net/idesign/DesktopDefault.aspx

Wenn Sie sich für ein Tutorial Stil Buch, Michele Leroux Bustamante Buch ist auch sehr gut aussehend.

3

Wenn Sie auf Attributen basierende Transaktionen für Komponenten ausführen möchten, kann WCF dies für Sie erledigen. Außer der Metapher sind nicht mehr Komponenten wie bei COM +; Es ist jetzt Dienste in WCF. Eine subtile, aber wichtige Veränderung. WCF basiert auf der gleichen Transaktionsinfrastruktur (DTC) wie COM +.

Wenn Sie nur COM + in .NET wollen, ist es EnterpriseServices - das gleiche Modell, müssen immer noch DLL-Bereitstellung und Versionierung verwenden. Kann immer noch Pooling, etc. bekommen. Kann auch Pause/Lebenslauf und einige andere neue ES-Funktionen bekommen.

Wenn Sie nur ein transaktionales Programmiermodell wünschen, können Sie den Namespace System.Transactions verwenden.

Wie für Objektpooling - zweimal schauen. Es könnte sich lohnen, Ihre Verwendung von Objektpools noch einmal zu untersuchen. Vor Jahren waren die Annahmen, die die Industrie gemacht hat, oder das Verständnis, das wir hatten, w.r.t. Die Kosten der Instanziierung eines Objekts führten uns zur Metapher des Objektpools. Diese Annahmen und Annahmen sind möglicherweise heute nicht gültig. Mit anderen Worten, ein Objektpool kann für Ihre App nützlich sein oder auch nicht. Es ist immer noch in ES, aber es ist eine Überlegung wert, ob Sie es brauchen.

Verwandte Themen