Communication Foundation – Elosztott programozás Microsoft.NET környezetben

Hernyák Zoltán

Eszterházy Károly Főiskola, Matematikai és Informatikai Intézet

Copyright 2011, Educatio Kht., Hallgatói Információs Központ

2011


Tartalom

Előszó
1. Programozási modellek
Szekvenciális programozás
Párhuzamos programozás
Szálak kommunikációja
2. Szálkezelés C# nyelven
Leállás ellenőrzése
Leállás ellenőrzése passzív várakozással
Leállás okának felderítése
Szálindítás példányszint használatával
Komplex probléma
3. A párhuzamos programozás alapproblémái
Komplex probléma
4. Étkező filozófusok
Holtpont
Kiéheztetés
5. Termelő-fogyasztó probléma
Megvalósítás
Megoldás
Befejezési probléma
Leállítás adminisztrálása
A gyűjtő kódjának kiegészítése
Komplex feladat
Szemafórok
Termelő-fogyasztó implementálása szemafórokkal
Összefoglalás
6. A párhuzamos és elosztott működés
Osztályozás
Adatcsatorna
Elágazás
Eldöntés tétele elágazással
Minimumkeresés elágazással
Rendezés párhuzamosan
Asszociatív műveletek
7. Hálózati kommunikáció
Üzenetküldés címzése
IP-cím megállapítása
Beállítások beolvasása
Konfigurációs XML fájl
A teljes portnyitási kód
A kommunikáció megvalósítása
Streamek
Egyszerű kommunikáció a streamen keresztül
Protokoll
A kliens
A kommunikáció
Többszálú szerver
Többszálú szerver problémái
Szerver oldali túlterhelés elleni védekezés
A kliens kommunikációs szálak kezelése
A kliens szálak racionalizálása
Olvasási timeout kezelése
Bináris Stream
Összefoglalás
8. .NET Remoting
A DLL hozzáadása a szerverhez
Az interfész implementálása
A szerver portnyitása
Singleton, Singlecall
Példányszintű mezők
A szolgáltatás összerendelése
Többszálúság
A kliens kódja
Egyedi példányok
A megoldás
Kliens-aktivált példány
Összefoglalás
9. Szerializáció
Bináris szerializáció
Saját típus szerializációja
Serializable
Optional
NonSerialized
Lista manuális szerializációja
Lista automatikus szerializációja
Rekurzív szerializáció
Összefoglalás
10. Web Service
A webszolgáltatások
Első webszolgáltatásunk
SOAP-beküldés
SOAP-válasz
XML-szerializáció
A WSDL és a UDDI
Kliens írása
Sessionkezelés
Összefoglalás
11. Communication Foundation
SOA
Üzenetek forgalmazása
Kérés-válasz
Egyutas
Duplex
Streaming
Pub-sub
Adott sorrendű hívás
A WCF felépítése
„C” – A szerződés
Szerver oldali szerződés
Kliens oldali proxy
ServiceContract részletezése
OperationContract részletezése
Adatszerződés
A DataContract és a DataMember attribútumok
Verziókövetés
Üzenetszerződés
„B” – kötések
BasicHttpBinding
WebHttpBinding
wsHttpBinding
wsDualHttpBinding
wsFederationHttpBinding
netTcpBinding
netNamedPipeBinding
netPeerTcpBinding
netMsmqBinding
msmqIntegrationBinding
Viselkedés
Szolgáltatásszintű viselkedés
„A” – címek
Végpontok
Szerver
Self-hosting
Konfigurációs fájl
Kliens
Loginalapú szerver
Csak sikeres belépés után
A megoldás vázlata
A titkosítás
A szolgáltatás konfigurálása
A bejelentkezés függvénye
Az „olvasatlanDarab” függvény
Az „utolsoUzenetSorszam” függvény
A „letoltes” függvény
A „statuszBeallitas” függvény
Az „uzenetBekuldes” függvény
A „kilepes” függvény
A tesztelés előkészítése
Loginalapú kliens
Sorrendi teszt
Bejelentkezés egy felhasználóval
Bejelentkezés két felhasználóval párhuzamosan
Titkosítás ellenőrzése
Egyéb WCF-tulajdonságok
Zárszó
Irodalomjegyzék