Jestem zdezorientowany z WCF i innych usług internetowych (takich jak asp.net ASMX, .net Remoting), czy ktoś może mi powiedzieć, co to jest różnica z WCF i innymi i kiedy powinienem go używać, dzięki!jaka jest różnica z WCF i innymi usługami sieciowymi?
Odpowiedz
Myślę, że to sprawiedliwe powiedzieć, że WCF zastępuje ASMX i remoting. Możesz osiągnąć wszystko, co możesz, za pomocą ASMX i zdalnego dostępu, a więcej dzięki WCF, ale masz znacznie więcej możliwości i ogólnie większą kontrolę nad tym, co się dzieje.
Uważam więc, że jeśli możesz, powinieneś używać WCF.
WCF to biblioteka komunikacyjna, która jest nadzbiorem zarówno usługi .NET, jak i "starej" usługi sieciowej ASMX oraz następczyni obu tych bibliotek.
Usługi internetowe WCF mają znacznie lepsze wsparcie dla standardów WS- * i mają mniej problemów z interoperacyjnością.
Zasadniczo należy użyć WCF od .net Remoting i ASMX może uznać legecy (i, jeśli dobrze pamiętam, kilka błędów .NET Remoting zostały ustalone dopiero w WCF i nigdy w samej usług zdalnych .NET)
WCF to stos komunikacyjny, który pozwala na ujawnienie usług za pośrednictwem protokołu HTTP (np. ASMX) i protokołu TCP (takiego jak Remoting), a także potoków nazwanych (co jest w istocie połączeniem między procesami w obrębie maszyny), MSMQ i REST .NET 3.5.
Pozwala na to, ponieważ jest oddzielony od części komunikacyjnych usługi z dala od logiki biznesowej. Wszystko, co musisz zrobić, to udekorować swoje klasy usług, metody i DTO za pomocą odpowiedniego atrybutu umowy ([SeriviceContract], [OperationContract] i [DataContract].)
Miało to tę zaletę, że można napisać usługę raz i umożliwienie wielu różnym klientom korzystania z tej samej usługi (np. klienci Java mogą korzystać z HTTP, klienci .NET mogą korzystać z protokołu TCP, starsze wersje mogą używać MSMQ itp.).
WCF nadal pozwala korzystać ze wszystkich funkcji każdego transportu, w tym zabezpieczeń, transakcji, niezawodnego przesyłania wiadomości itp., Ale należy zachować ostrożność. Nie wszystkie funkcje działają na wszystkich transportach i trzeba odpowiednio zaprojektować. WCF pozwala określić w umowie, które funkcje są wymagane. Zapobiegnie to próbom ujawnienia usługi w sposób, który nie obsługuje wymaganego zestawu funkcji (tj. Jeśli usługa wymaga transakcji, środowisko wykonawcze WCF nie zezwoli na dostęp do usługi za pośrednictwem podstawowego punktu końcowego HTTP).
WCF jest rozszerzalna za pomocą niestandardowych zachowań (które wpływają na sposób działania runtime WCF) i kanały niestandardowe (które kontrolują jak WCF usługi komunikować się ze światem zewnętrznym.)
WCF ma trochę krzywa uczenia się w porównaniu do ASMX, ale korzyści ABSOLUTNIE wyważają tę krzywą uczenia się.
Nadzieję, że pomaga.
- 1. Różnica między WebHooks ASP.NET a usługami sieciowymi?
- 2. Jaka jest różnica między punktem końcowym, usługą i portem podczas pracy z usługami sieciowymi?
- 3. Synchroniczne Vs Asynchroniczne związane z usługami sieciowymi
- 4. Jaka jest różnica między WCF i WPF?
- 5. Różnica między usługą WCF, usługami WCF RIA i usługą danych WCF
- 6. Udostępnij wyliczenie między usługami sieciowymi ASMX
- 7. Udostępnianie klucza AI między wieloma aplikacjami i usługami sieciowymi?
- 8. Najlepszy sposób na połączenie się z wieloma usługami sieciowymi?
- 9. Xcode Jaka jest różnica między "Innymi flagami Linkera" a "Innymi_LDFLAGS"
- 10. Jaka jest różnica między? : i ||
- 11. Jaka jest różnica między $ i $$?
- 12. Udostępnianie obiektów DTO między usługami WCF
- 13. Różnica między WCF Web API i WCF Data Services
- 14. Jaka jest różnica w WCF podczas korzystania z KnownType i ServiceKnownType?
- 15. Jaka jest różnica między Chisel i Lava i CLaSH?
- 16. Jaka jest różnica między "CompletionStage" i "CompletableFuture"?
- 17. Jaka jest różnica między developer.paypal.com i x.com?
- 18. Jaka jest różnica między @PathParam i @PathVariable
- 19. Jaka jest różnica między strcmp() i strcoll()?
- 20. Jaka jest różnica między Eclipse i Myeclipse
- 21. Jaka jest różnica między Equinox i Virgo?
- 22. Jaka jest różnica między NetFx45WebLink i NetFx45RedistLink
- 23. Jaka jest różnica między ATL i WTL?
- 24. jaka jest różnica między ARM7 i ARM7s
- 25. Jaka jest różnica między Lazy.Force() i Lazy.Value
- 26. Różnica między aplikacją, usługami i oprogramowaniem pośrednim w mvc6
- 27. Jaka jest różnica między $ locationChangeSuccess i $ locationChangeStart?
- 28. Jaka jest różnica między crc32 i crc32b?
- 29. Jaka jest różnica między SpringJUnit4ClassRunner i SpringRunner
- 30. Jaka jest różnica między Array.GetLength() i Array.Length?
W WCF, DataContractSerializer może uzyskać dostęp do członka niepublicznego, dlatego wymaga pełnego zaufania, podczas gdy Serializer XML (w usługach internetowych) nie. Należy z niej korzystać ostrożnie, ponieważ w pełni zaufany kod zapewnia dostęp do wszystkich zasobów urządzenia. – Adeel