2010-03-16 27 views
5

Czy ktoś mi mówi, czy można używać WCF bez .NET 3.0?WCF bez NET 3.0

Nasza firma opracowuje trójwarstwowe rozwiązanie typu klient-serwer, oparte na .Remoting. Jednym z ograniczeń naszego projektu jest użycie .NET 2.0. Niestety framework .NET 3.0 jest zbyt duży, aby można go było dołączyć do naszego pakietu instalacyjnego i nie wiem, czy zezwala na to licencja MS. Ale WCF może nam pomóc drastycznie zmniejszyć nasze wysiłki w niektórych zadaniach.

Czy ktoś ma szansę użyć WCF z Mono?

góry dzięki

- Murat

+1

nope - WCF to technologia .NET 3.0/3.5/4.0. Nie ma sposobu na to, aby ... –

+0

Nie ma opcji w VS 2010/.NET 4.0, aby utworzyć wdrożenie, które działa na mniejszym podzbiorze struktury? Nie pamiętam tego terminu. – TrueWill

+1

@TrueWill: profil klienta .NET lub coś w tym stylu –

Odpowiedz

5

Niestety nie jest to możliwe. System.ServiceModel i System.Runtime.Serialization złożeń są wymagane i są częścią .NET 3.0.

Inną ważną informacją jest to, że WCF zależy od HTTP.SYS (stos HTTP na poziomie jądra), który jest dostępny na Win2003, WinXP SP2 lub nowszym, podczas gdy nadal możesz mieć .NET 2.0 zainstalowany na Win2000.

Po stronie klienta nadal można mieć .NET 2.0 zużywający usługę WCF. W tym celu należy udostępnić punkt końcowy basicHttpBinding.

+0

Powód, dla którego nie mogę używać .NET 3.0 jego dużego rozmiaru i nie jestem pewien licencji dystrybucyjnej .NET 3.0.Ale WCF jest zaimplementowany w Mono, więc czy możliwe jest dodanie WCF i niektórych powiązanych bibliotek DLL z pakietu Mono? –

+2

@Murat: .NET 3.0 jest - jak każda inna platforma .NET - całkowicie darmowy i nie ma ograniczeń w jego dystrybucji. Po prostu pobierz ją jak każdą inną łatkę i nie martw się - bądź szczęśliwy! –

+0

@Murat, jeśli podążysz za sugestią @marc_s i zdecydujesz się wdrożyć nową wersję frameworka, weź 3.5, a nawet 4.0. W ten sposób nie będziesz musiał zadawać tego samego pytania o LINQ, Entity Framework, ASP.NET MVC ... :-) –

0

Cóż, jest WCF na Mono (http://www.mono-project.com/WCF), ale nie mogę powiedzieć, jak to jest kompatybilne. Całość nałożyłaby również inne ograniczenia, mianowicie dostępność Mono.

Poza tym usług WCF może być narażony usług internetowych, z którymi można rozmawiać z mechanizmów dostępnych w .NET 2.0

0

Można powołać usług WCF (jeśli są skonfigurowane do korzystania z SOAP przez HTTP) z dowolnego klient, używając zwykłych powiązań/składni SOAP. Jednak sama usługa musi działać na platformie .NET 3.0. Jeśli możesz utworzyć warstwę usługi na .NET 3.x i pozostawić resztę swojego stosu w wersji 2.0, może to być dobra droga.

Wiele funkcji WCF zostało pilotowanych (przy użyciu usług internetowych ASMX) w WSE 3.0, która działa na platformie .NET 2.0, ale trzeba będzie spojrzeć na GPW, aby dowiedzieć się, czy rzeczywiście pozwoli to zaoszczędzić czas; dodaje wiele fajnych funkcji dla bezpieczeństwa/etc, ale nie jest tak łatwe do pobrania i użycia jako WCF.

1

Czy możesz użyć WCF i .Net 3.0 tylko na serwerach? Możesz napisać swoich klientów, aby wykorzystali proste wywołania serwisowe w stylu ASMX i utrzymali niewielki rozmiar instalacji, jednocześnie czerpiąc korzyści z WCF w oprogramowaniu serwerowym.

Jest to część oprogramowania n-warstwowego ... można łatwiej aktualizować krytyczne komponenty aplikacji, ponieważ znajdują się one na kilku serwerach zamiast na tysiącach klientów. Chciałbym ponownie zbadać wymagania .Net 2.0 przynajmniej na twoich najwyższych poziomach. Powinieneś zobaczyć łatwą poprawę kosztów i korzyści przy użyciu elastyczności platformy WCF, nawet jeśli masz ciężką instalację na serwerze.

Powiązane problemy