Spis treści

Transkrypt

Spis treści
Spis treści
Wstęp
1 Tworzenie aplikacji
ix
1
1.1 Tworzenie aplikacji trybu tekstowego
2
1.2 Utworzenie aplikacji Windows
4
1.3 Utworzenie i wykorzystanie modułu kodu
7
1.4 Utworzenie biblioteki kodów i korzystanie z niej
9
1.5 Dostęp do argumentów linii poleceń
10
1.6 Selektywne włączanie kodu podczas jego budowy
12
1.7 Dostęp do elementu programu o tej samej nazwie, co słowo kluczowe
15
1.8 Tworzenie i zarządzanie parami kluczy silnej nazwy
16
1.9 Nadawanie asemblacji silnej nazwy
18
1.10 Sprawdzenie, czy asemblacja o silnej nazwie nie została zmodyfikowana
19
1.11 Opóźnienie podpisu asemblacji
20
1.12 Podpisywanie asemblacji podpisem cyfrowym Authenticode
22
1.13 Utworzenie testowego certyfikatu wydawcy oprogramowania i obdarzenie go
zaufaniem
25
1.14 Zarządzanie globalnym buforem asemblacji (GAC)
26
1.15 Ochrona przed dekompilacją kodu przez osoby postronne
27
2 Praca z danymi
2.1 Efektywne manipulowanie zawartością łańcuchów
2.2 Przekodowanie łańcucha za pomocą innego schematu kodowania znaków
2.3 Konwersja podstawowych typów wartości na tablicę bajtową
2.4 Kodowanie danych binarnych jako tekstu
2.5 Testowanie poprawności danych wejściowych przy uŜyciu wyraŜeń
regularnych
2.6 Wykorzystywanie skompilowanych wyraŜeń regularnych
2.7 Tworzenie daty i czasu z łańcucha
2.8 Dodawanie, odejmowanie i porównywanie dat i czasów
2.9 Sortowanie tablicy lub wykazu tablic ArrayList
2.10 Kopiowanie kolekcji do tablicy
2.11 Tworzenie kolekcji elementów jednolitego typu
2.12 Zapamiętywanie serializowanego obiektu w pliku
3 Domeny aplikacji, odbicie i metadane
3.1 Tworzenie domeny aplikacji
3.2 Przekazanie obiektów poza granice domeny aplikacji
3.3 Unikanie ładowania zbędnych asemblacji do domen aplikacji
3.4 Utworzenie typu, który nie moŜe przekroczyć granic domeny aplikacji
3.5 Ładowanie asemblacji do aktualnej domeny aplikacji
29
29
31
34
36
38
41
43
44
46
47
48
50
53
53
55
56
57
58
3.6 Wykonanie asemblacji w innej domenie aplikacji
3.7 Utworzenie instancji typu w innej domenie aplikacji
3.8 Przekazywanie danych między domenami aplikacji
3.9 Zwalnianie asemblacji i domen aplikacji
3.10 Uzyskiwanie informacji o typie
3.11 Testowanie typu obiektu
3.12 Tworzenie instancji obiektu przy uŜyciu odbicia
3.13 Tworzenie niestandardowego atrybutu
3.14 Sprawdzenie atrybutów elementu programu przy uŜyciu odbicia
4 Wątki, procesy i synchronizacja
4.1 Wykonanie metody przy uŜyciu puli wątków
4.2 Asynchroniczne wykonywanie metody
4.3 Wykonanie metody przy uŜyciu timera
4.4 Wykonanie metody poprzez sygnalizację obiektu WaitHandle
4.5 Wykonanie metody przy uŜyciu nowego wątku
4.6 Nadzór nad wykonaniem wątku
4.7 Rozpoznanie momentu zakończenia wątku
4.8 Synchronizacja działalności wielu wątków
4.9 Tworzenie instancji kolekcji przystosowanej do działania w trybie
wielowątkowym
4.10 Zapoczątkowanie nowego procesu
4.11 Zakończenie procesu
4.12 Ograniczenie równoczesności działania do jednej tylko instancji aplikacji
5 Przetwarzanie XML
5.1 Przedstawienie struktury dokumentu XML w postaci drzewa
5.2 Wstawianie węzłów do dokumentu XML
5.3 Szybkie dołączanie węzłów do dokumentu XML
5.4 Odnajdywanie określonych elementów przy pomocy nazwy
5.5 Odczytywanie węzłów XML w określonej przestrzeni nazw XML
5.6 Odnajdywanie elementów poprzez przeszukiwanie XPath
5.7 Odczyt i zapis XML bez ładowania do pamięci całego dokumentu
5.8 Sprawdzenie zgodności dokumentu XML ze schematem
5.9 Serializacja XML przy pomocy obiektów niestandardowych
5.10 Tworzenie schematu dla klasy .NET
5.11 Generowanie klasy ze schematu
5.12 Wykonywanie transformacji XSL
6 Formularze Windows
6.1 Programowe dodawanie kontrolki
6.2 Przypisanie danych do kontrolki
6.3 Przetwarzanie wszystkich kontrolek formularza
6.4 Śledzenie widocznych formularzy w aplikacji
6.5 Znajdowanie wszystkich formularzy podrzędnych MDI
6.6 Zapamiętywanie rozmiaru i połoŜenia formularza
6.7 Wymuszenie przewijania okna listy
60
62
65
67
68
70
71
74
76
79
79
82
89
91
93
95
99
100
104
106
108
111
113
114
117
119
121
123
124
127
130
135
138
139
139
143
144
145
147
148
150
151
153
6.8 Ograniczenie zawartości okna tekstowego do wejściowych danych
numerycznych
6.9 Wykorzystanie okna autouzupełniania typu combo
6.10 Sortowanie zawartości listy według dowolnej kolumny
6.11 Przypisanie menu kontekstowego do kontrolki
6.12 Wykorzystywanie części głównego menu do menu kontekstowego
6.13 Tworzenie formularza wielojęzycznego
6.14 Tworzenie formularzy nieruchomych
6.15 Przekształcenie formularza bez ramki w obiekt ruchomy
6.16 Tworzenie animowanej ikony paska systemowego
6.17 Test kontrolki wejściowej
6.18 Wykonanie operacji przeciągania i upuszczania
6.19 UŜywanie pomocy kontekstowej
6.20 Zastosowanie stylu Windows XP do kontrolek
7 ASP.NET i formularze Web
7.1 Przekierowanie uŜytkownika na inną stronę
7.2 Zapamiętywanie informacji między zgłoszeniami
7.3 Tworzenie zmiennych członkowskich strony z informacją o stanie
7.4 Odpowiedź na zdarzenia po stronie klienta w języku JavaScript
7.5 Pokazanie wyskakującego okna przy uŜyciu JavaScript
7.6 Programowe ustawianie fokusu kontrolki
7.7 UmoŜliwienie załadowania pliku przez uŜytkownika
7.8 Wykorzystanie uwierzytelnienia IIS
7.9 UŜycie uwierzytelniania opartego o formularze
7.10 Wykonanie selektywnych testów poprawności danych wejściowych
7.11 Dynamiczne dołączanie kontrolek do formularza Web
7.12 Dynamiczne renderowanie obrazu
7.13 Programowe ładowanie kontrolek uŜytkownika
7.14 Wykorzystywanie buforowania stron i fragmentów
7.15 Powtórne uŜycie danych z bufora ASP.NET
7.16 Włączanie wykrywania i usuwania błędów (debugging) strony Web
7.17 Zmiana zezwoleń dla kodu ASP.NET
8 Grafika, multimedia i drukowanie
154
155
158
160
161
163
165
166
168
169
171
173
174
177
178
179
183
185
187
188
189
192
196
199
201
203
207
211
212
215
218
221
8.1 Odnajdywanie wszystkich zainstalowanych czcionek
222
8.2 Wykonanie testu trafienia dla konturów
224
8.3 Utworzenie kontrolki o nieprostokątnym kształcie
227
8.4 Utwórz ruchomego „duszka”
229
8.5 Utworzenie obrazu dającego się przewijać
232
8.6 Wykonanie zrzutu ekranu
233
8.7 Zastosownie podwójnego buforowania w celu przyspieszenia przerysowywania235
8.8 Pokazanie miniatur obrazów
238
8.9 Wygenerowanie prostego dźwięku ‘beep’
239
8.10 Odtworzenie pliku WAV lub MP3
240
8.11 Przedstawienie animacji z DirectShow
242
8.12 Wyszukiwanie informacji o zainstalowanych drukarkach
245
8.13 Drukowanie prostego dokumentu
8.14 Drukowanie dokumentu wielostronicowego
8.15 Drukowanie sformatowanego tekstu
8.16 Wyświetlenie dynamicznego podglądu wydruku
8.17 Zarządzanie zadaniami drukowania
9 Pliki, katalogi i operacje wejścia/wyjścia (I/O)
10
11
247
249
252
254
257
261
9.1 Odczytywanie informacji o pliku lub katalogu
9.2 Ustawienie atrybutów pliku i katalogu
9.3 Kopiowanie, przenoszenie i usuwanie pliku lub katalogu
9.4 Obliczanie rozmiaru katalogu
9.5 Wyszukiwanie informacji o wersji pliku
9.6 Wyświetlenie drzewa katalogów na bieŜąco w kontrolce TreeView
9.7 Odczytywanie i zapisywanie pliku tekstowego
9.8 Odczytywanie i zapisywanie pliku binarnego
9.9 Asynchroniczny odczyt pliku
9.10 Wyszukanie plików odpowiadających wyraŜeniu zawierającemu znaki
zastępcze
9.11 Testowanie identyczności dwóch plików
9.12 Posługiwanie się łańcuchami reprezentującymi nazwy plików
9.13 Określenie, czy ścieŜka dotyczy katalogu, czy pliku
9.14 Praca ze ścieŜkami względnymi
9.15 Utworzenie pliku tymczasowego
9.16 Odczytanie wielkości całkowitej wolnej przestrzeni dyskowej
9.17 Wyświetlenie wspólnych plikowych okien dialogowych
9.18 UŜywanie izolowanego magazynu
9.19 Monitorowanie zmian w systemie plików
9.20 Dostęp do portu COM
262
265
266
269
270
271
274
276
277
280
281
283
284
285
286
287
288
291
293
295
Dostęp do baz danych
297
10.1 Połączenia z bazą danych
10.2 Tworzenie pul połączeń
10.3 Wykonanie polecenia SQL lub procedury składowanej
10.4 Wykorzystanie parametrów w poleceniu SQL lub procedurze składowanej
10.5 Przetwarzanie wyników zapytania SQL przy uŜyciu czytnika danych
10.6 Uzyskanie dokumentu XML w zapytaniu SQL
10.7 Wyszukiwanie wszystkich instancji SQL Server 2000 w sieci
298
300
303
306
309
312
315
Programowanie sieciowe i międzysieciowe
317
11.1 Pobranie pliku poprzez HTTP
11.2 Pobranie pliku i przetwarzanie go przy uŜyciu strumienia
11.3 Uzyskanie strony HTML z witryny wymagającej uwierzytelnienia
11.4 Wyświetlenie strony Web w aplikacji Windows
11.5 Uzyskanie adresu IP aktualnego komputera
11.6 Uzyskanie nazwy hosta dla adresu IP
11.7 Pingowanie adresu IP
11.8 Komunikacja przy uŜyciu TCP
318
319
321
322
325
326
327
330
12
13
14
11.9 Uzyskanie adresu IP klienta z gniazda połączenia
11.10 Ustawienie opcji gniazda
11.11 Utworzenie wielowątkowego serwera TCP
11.12 Asynchroniczne uŜywanie TCP
11.13 Komunikacja przy uŜyciu UDP
11.14 Wysyłanie wiadomości e-mail poprzez SMTP
11.15 Przesyłanie i odbieranie wiadomości e-mail za pomocą MAPI
334
336
337
339
342
345
346
Usługi Web XML i zdalny dostęp
349
12.1 Unikanie kodowania na stałe adresu URL usług XML Web
12.2 Wykorzystanie buforowania odpowiedzi usługi XML Web
12.3 Buforowanie danych usługi XML Web
12.4 Utworzenie transakcyjnej metody Web
12.5 Definiowanie poświadczeń dla usługi XML Web
12.6 Asynchroniczne wywołanie metody Web
12.7 Przekształcenie obiektu na zdalny
12.8 Rejestracja wszystkich zdalnych klas zdefiniowanych w asemblacji
12.9 Utrzymywanie zdalnego obiektu w IIS
12.10 Wyzwolenie zdarzenia przez zdalny kanał
12.11 Kontrolowanie czasu Ŝycia zdalnego obiektu
12.12 Zarządzanie wersjami zdalnych obiektów
12.13 Utworzenie metody jednokierunkowej korzystającej z usług XML Web lub
zdalnego dostępu
350
352
353
355
357
359
361
365
367
369
373
374
Bezpieczeństwo w czasie wykonania
379
13.1 Dopuszczenie częściowo zaufanego kodu do asemblacji o silnych nazwach
13.2 Wyłączenie zabezpieczeń dostępu do kodu
13.3 Wyłączenie sprawdzania uprawnień do wykonania
13.4 Zagwarantowanie, Ŝe moduł runtime przyzna asemblacji specjalne
uprawnienia
13.5 Ogranicznie uprawnień przyznawanych asemblacji
13.6 Przeglądanie Ŝądań uprawnień wykonywanych przez asemblację
13.7 Określenie posiadania uprawnień podczas wykonywania programu
13.8 Ograniczenie prawa do rozszerzenia klasy i nadpisywania jej pól
13.9 Przeglądanie ewidencji asemblacji
13.10 Posługiwanie się ewidencją podczas ładowania asemblacji
13.11 Modyfikowanie zabezpieczeń czasu wykonania przy uŜyciu ewidencji
domeny aplikacji
13.12 Posługiwanie się zabezpieczeniami czasu wykonania przy uŜyciu zasad
zabezpieczeń domeny aplikacji
13.13 Określenie, czy aktualny uŜytkownik jest członkiem danej grupy Windows
13.14 Ograniczanie uŜytkowników mających prawo do wykonania kodu
13.15 Personifikacja uŜytkownika systemu Windows
380
382
384
400
403
406
411
Kryptografia
415
14.1 Utworzenie kryptograficznie losowego numeru
14.2 Wyliczanie kodu hash dla hasła
416
417
376
385
387
389
391
392
394
395
397
15
16
17
14.3 Wyliczanie kodu hash dla pliku
14.4 Weryfikacja kodu hash
14.5 Zapewnienie integralności danych przy uŜyciu kodu hash z kluczem
14.6 Zabezpieczenie pliku przy uŜyciu symetrycznego szyfrowania
14.7 Wyprowadzenie klucza szyfrowania symetrycznego z hasła
14.8 Bezpieczne wysyłanie utajnionych danych przy uŜyciu szyfrowania
asymetrycznego
14.9 Bezpieczne zapamiętywanie klucza szyfrowania asymetrycznego
14.10 Bezpieczna wymiana symetrycznego klucza sesji
420
421
423
426
431
Współdziałanie z niezarządzanym kodem
445
15.1 Wywołanie funkcji z niezarządzanej biblioteki DLL
15.2 Przejęcie uchwytu kontrolki, okna lub pliku
15.3 Wywołanie niezarządzanej funkcji wykorzystującej strukturę
15.4 Wywołanie niezarządzanej funkcji posługującej się wywołaniem zwrotnym
15.5 Odczytywanie niezarządzanej informacji o błędach
15.6 UŜycie komponentu COM w kliencie .NET
15.7 Szybkie zwolnienie komponentu COM
15.8 UŜycie parametrów opcjonalnych
15.9 UŜycie kontrolki ActiveX w kliencie .NET
15.10 Wykorzystanie komponentu .NET przez COM
446
448
450
453
454
456
458
458
460
461
Powszechnie uŜywane interfejsy i wzorce
463
16.1 Implementacja serializowalnego typu
16.2 Implementacja typu klonowalnego
16.3 Implementacja typów porównywalnych
16.4 Implementacja typu wyliczalnego
16.5 Implementacja klasy jednorazowego uŜycia
16.6 Implementowanie typu formatowalnego
16.7 Implementacja niestandardowej klasy wyjątku
16.8 Implementacja niestandardowego argumentu zdarzenia
16.9 Implementacja wzorca pojedynczej instancji
16.10 Implementacja wzorca obserwatora
464
468
471
475
480
484
487
491
492
493
Integracja z systemem Windows
499
17.1 Dostęp do informacji o środowisku wykonywczym
17.2 Wyszukiwanie wartości zmiennej środowiska
17.3 Zapisanie zdarzenia do dziennika zdarzeń Windows
17.4 Dostęp do rejestru Windows
17.5 Utworzenie usługi Windows
17.6 Utworzenie instalatora usługi Windows
17.7 Utworzenie skrótu na pulpicie lub w menu Start
500
503
504
506
510
514
516
Indeks
519
433
438
441

Podobne dokumenty