programowanie-uslug-wcf.-wydanie-iii helion.pdf

(27535 KB) Pobierz
888116093.001.png
Spis treci
Przedmowa ............................................................................................................................. 15
Sowo wstpne ....................................................................................................................... 19
1.
Podstawy WCF ............................................................................................................. 29
Czym jest WCF?
29
Usugi
30
Granice wykonywania usugi
31
WCF i widoczno lokalizacji
31
Adresy
32
Adresy TCP
33
Adresy HTTP
34
Adresy IPC
34
Adresy MSMQ
34
Adresy magistrali usug
35
Kontrakty
35
Kontrakt usugi
35
Hosting
39
Hosting na IIS 5/6
39
Hosting wasny
40
Hosting WAS
45
Niestandardowy hosting na IIS/WAS
46
Pakiet usug AppFabric dla systemu Windows Server
46
Wybór hosta
48
Wizania
49
Podstawowe wizania
50
Wybór wizania
52
Dodatkowe rodzaje wiza
53
Uywanie wizania
54
Punkty kocowe
55
Konfiguracja punktów kocowych — plik konfiguracyjny
56
Konfiguracja punktów kocowych z poziomu programu
60
Domylne punkty kocowe
61
5
888116093.002.png
 
Wymiana metadanych
63
Udostpnianie metadanych przez HTTP-GET
64
Punkt wymiany metadanych
67
Narzdzie Metadata Explorer
72
Wicej o konfiguracji zachowa
74
Programowanie po stronie klienta
76
Generowanie obiektu porednika
76
Konfiguracja klienta z poziomu pliku konfiguracyjnego
81
Konfiguracja klienta z poziomu programu
86
Klient testowy dostarczany przez WCF
87
Konfiguracja z poziomu programu a plik konfiguracyjny
89
Architektura WCF
89
Architektura hosta
91
Kanay
92
Klasa InProcFactory
93
Sesje warstwy transportowej
96
Sesja transportowa i wizania
97
Przerwanie sesji transportowej
97
Niezawodno
98
Wizania, niezawodno i kolejno wiadomoci
99
Konfiguracja niezawodnoci
100
Zachowanie kolejnoci dostarczania wiadomoci
101
2.
Kontrakty usug ......................................................................................................... 103
Przecianie metod
103
Dziedziczenie kontraktów
105
Hierarchia kontraktów po stronie klienta
106
Projektowanie oraz faktoryzacja kontraktów usug
110
Faktoryzacja kontraktów
110
Metryki faktoryzacji
112
Kwerendy (przeszukiwanie metadanych)
114
Programowe przetwarzanie metadanych
114
Klasa MetadataHelper
116
3.
Kontrakty danych ....................................................................................................... 121
Serializacja
121
Serializacja w .NET
123
Formatery WCF
124
Serializacja kontraktów danych
127
Atrybuty kontraktów danych
128
Importowanie kontraktu danych
130
Kontrakty danych i atrybut Serializable
132
Dedukowane kontrakty danych
133
Zoone kontrakty danych
135
Zdarzenia zwizane z kontraktami danych
135
Dzielone kontrakty danych
138
6
Spis treci
Hierarchia kontraktów danych
139
Atrybut KnownType
139
Atrybut ServiceKnownType
141
Wielokrotne zastosowanie atrybutu KnownType
143
Konfiguracja akceptowanych klas pochodnych w pliku konfiguracyjnym
143
Analizatory kontraktów danych
144
Obiekty i interfejsy
153
Równowano kontraktów danych
155
Porzdek serializacji
156
Wersjonowanie
158
Nowe skadowe
158
Brakujce skadowe
159
Wersjonowanie dwukierunkowe
162
Typy wyliczeniowe
164
Delegaty i kontrakty danych
166
Typy generyczne
166
Kolekcje
169
Konkretne kolekcje
170
Kolekcje niestandardowe
171
Atrybut CollectionDataContract
172
Referencje do kolekcji
173
Sowniki
174
4.
Zarzdzanie instancjami ............................................................................................177
Zachowania
177
Usugi aktywowane przez wywoania
178
Zalety usug aktywowanych przez wywoania
179
Konfiguracja usug aktywowanych przez wywoania
180
Usugi aktywowane przez wywoania i sesje transportowe
181
Projektowanie usug aktywowanych przez wywoania
182
Wybór usug aktywowanych przez wywoania
184
Usugi sesyjne
185
Konfiguracja sesji prywatnych
185
Sesje i niezawodno
190
Identyfikator sesji
191
Koczenie sesji
193
Usuga singletonowa
193
Inicjalizacja usugi singletonowej
194
Wybór singletonu
197
Operacje demarkacyjne
197
Dezaktywacja instancji
200
Konfiguracja z wartoci ReleaseInstanceMode.None
201
Konfiguracja z wartoci ReleaseInstanceMode.BeforeCall
201
Konfiguracja z wartoci ReleaseInstanceMode.AfterCall
202
Konfiguracja z wartoci ReleaseInstanceMode.BeforeAndAfterCall
203
Bezporednia dezaktywacja
203
Stosowanie dezaktywacji instancji
204
Spis treci
7
Usugi trwae
205
Usugi trwae i tryby zarzdzania instancjami
205
Identyfikatory instancji i pami trwaa
206
Bezporednie przekazywanie identyfikatorów instancji
207
Identyfikatory instancji w nagówkach
209
Powizania kontekstu dla identyfikatorów instancji
211
Automatyczne zachowanie trwae
216
Dawienie
222
Konfiguracja dawienia
225
5.
Operacje ..................................................................................................................... 231
Operacje danie-odpowied
231
Operacje jednokierunkowe
232
Konfiguracja operacji jednokierunkowych
232
Operacje jednokierunkowe i niezawodno
233
Operacje jednokierunkowe i usugi sesyjne
233
Operacje jednokierunkowe i wyjtki
234
Operacje zwrotne
236
Kontrakt wywoa zwrotnych
236
Przygotowanie obsugi wywoa zwrotnych po stronie klienta
238
Stosowanie wywoa zwrotnych po stronie usugi
241
Zarzdzanie poczeniami dla wywoa zwrotnych
244
Porednik dupleksowy i bezpieczestwo typów
246
Fabryka kanaów dupleksowych
249
Hierarchia kontraktów wywoa zwrotnych
251
Zdarzenia
252
Strumieniowe przesyanie danych
256
Strumienie wejcia-wyjcia
256
Strumieniowe przesyanie komunikatów i powizania
257
Przesyanie strumieniowe i transport
258
6.
Bdy .......................................................................................................................... 261
Izolacja bdów i eliminowanie zwizków
261
Maskowanie bdów
262
Oznaczanie wadliwego kanau
263
Propagowanie bdów
267
Kontrakty bdów
268
Diagnozowanie bdów
272
Bdy i wywoania zwrotne
278
Rozszerzenia obsugujce bdy
281
Udostpnianie bdu
282
Obsuga bdu
285
Instalacja rozszerze obsugujcych bdy
287
Host i rozszerzenia obsugujce bdy
290
Wywoania zwrotne i rozszerzenia obsugujce bdy
293
8
Spis treci
Zgłoś jeśli naruszono regulamin