2009-03-31 6 views
5

Używam ServicedComponent z EnterpriseServices AKA Com + dlaCzy istnieje nowoczesny zamiennik transakcji i funkcje łączenia z Enterprise Services?

  • transakcji rozproszonych
  • programowanie transakcja Prosty za pomocą atrybutów
  • obiektów łączenie

rzeczy, które znaleźć brakuje w COM +

  • Brak wersji dll
  • Ból konieczności gac & reg za każdym razem zmienić komponent
  • Mając dołączyć debugger

Jestem świadomy, że WCF rozwiązuje niektóre z tych samych problemów jak COM +. Ale czy rozwiązuje je wszystkie? Czy ktoś może wskazać mi właściwy kierunek?

Dzięki

Odpowiedz

7

Nie jestem zaznajomiony z tajnikami COM +, ale WCF został zbudowany, aby zastąpić go i Enterprise Services na platformie .NET. Wszystkie przypadki użycia, o których wspomniałeś, są upieczone do frameworka (łączenie, transakcje, wersjonowanie) i są dość trywialne, aby je kodować, o ile tylko poświęcisz czas na poznanie, w jaki sposób chcesz coś robić. Kiedy wszystko zostanie poprawnie skonfigurowane, nie ma praktycznie żadnych ograniczeń co do tego, co można z nim zrobić.

WCF również stanowi podstawę tego, nad czym Microsoft pracuje w najbliższej i dalszej przyszłości (usługi Azure). Uważam, że jest to opłacalna inwestycja Twojego czasu nauki, szczególnie biorąc pod uwagę twoje doświadczenie w COM +.

Gorąco polecam książkę Juval Lowy jako dobry punkt wyjścia. Prawdopodobnie jest tak autorytatywnym głosem, jak na ten temat.

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

Polecam również sprawdzić swoją firmę internetową IDesign użytkownika. Oferują nie tylko doskonałe szkolenie, ale mają bardzo przydatną bibliotekę rozszerzeń WCF o nazwie ServiceModelEx, która zapewnia szereg rozszerzeń narzędzi/klas pomocniczych, które znacznie ułatwiają życie w WCF.

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

Jeśli szukasz bardziej samouczka książki stylu, książka Michele Leroux Bustamante jest również dość dobre.

3

Jeśli chcesz transakcji opartych na atrybutach na składniki, WCF może zrobić to za Ciebie. Z tym że metafora nie jest już składnikami jak w przypadku COM +; to jest teraz usługi w WCF. Subtelna, ale ważna zmiana. WCF korzysta z tej samej infrastruktury transakcyjnej (DTC) co COM +.

Jeśli chcesz tylko COM + w .NET, to EnterpriseServices - ten sam model, nadal trzeba użyć wdrożenia DLL i wersjonowania. Nadal można uzyskać łączenie, itp. Może również uzyskać wstrzymanie/wznowienie i kilka innych nowych funkcji ES.

Jeśli potrzebujesz tylko modelu transakcyjnego, możesz użyć przestrzeni nazw System.Transactions.

Co do łączenia obiektów - spójrz dwa razy. Być może warto ponownie przeanalizować wykorzystanie pul obiektów. Kilka lat temu przyjęto założenia branży lub zrozumienie, które mieliśmy, w.r.t. koszt utworzenia obiektu doprowadził nas do metafory puli obiektów. Te założenia i porozumienia mogą nie być aktualne dzisiaj. Innymi słowy, pula obiektów może, ale nie musi być przydatna dla twojej aplikacji. Nadal jest w ES, ale warto zastanowić się, czy go potrzebujesz.

Powiązane problemy