
Kompletny przewodnik po języku C#
- Poznaj składnię języka C# i możliwości platformy .NET
- Wykorzystaj formularze do tworzenia efektownych interfejsów użytkownika
- Pisz bezpieczne aplikacje bazodanowe i sieciowe
Na platformie .NET można programować w wielu językach, jednak najważniejszym z nich jest C#, który został zaprojektowany specjalnie w tym celu; to język ułatwiający wygodne korzystanie z niesamowitych możliwości .NET Framework. Za pomocą C# możesz bez żmudnej nauki skomplikowanej składni błyskawicznie tworzyć efektowne programy dla systemu Windows, witryny internetowe, usługi sieciowe czy aplikacje bazodanowe. Szerokie zastosowania i duże możliwości połączone z łatwością nauki sprawiają, że język C# to doskonały wybór zarówno dla początkujących, jak i doświadczonych programistów.
Książka "Microsoft Visual C# 2005. Księga eksperta" to wyczerpujący przegląd najnowszej i najbardziej użytecznej wersji języka C#. Czytając ją, poznasz podstawowe elementy i składnię języka, a także używane w nim struktury danych i techniki programowania obiektowego. Dowiesz się, czym jest platforma .NET, jak działa, jakie ma możliwości oraz -- co najważniejsze -- jak wykorzystać ją do pisania własnych programów. Nauczysz się obsługiwać bazy danych przy użyciu technologii ADO.NET, tworzyć różnorodne aplikacje sieciowe, a także stosować formularze Windows do projektowania programów dla tego systemu. Zrozumiesz techniki tworzenia aplikacji rozproszonych za pomocą technologii remoting.
- Składnia języka C#
- Działanie platformy .NET
- Używanie formularzy do tworzenia efektownych interfejsów
- Praca z bazami danych w ADO.NET 2.0
- Tworzenie aplikacji sieciowych w ASP.NET 2.0
- Pisanie i konsumowanie usług sieciowych
- Zabezpieczanie programów i danych
- Aplikacje rozproszone i technologia remoting
- Instalowanie aplikacji za pomocą technologii ClickOnce
- Programowanie wielowątkowe
Jeśli chcesz nadążyć za najnowszą technologią
-- ta książka jest dla Ciebie.
O autorze (17)Wstęp (19)
Część I Podstawy C# 2.0 (23)
Rozdział 1. Wprowadzenie do C# 2.0 (25)
- Czym jest .NET Framework? (25)
- Ewolucja .NET (25)
- Wspólne środowisko uruchomieniowe (26)
- Wspólny system typów (27)
- Wyrzucanie śmieci: programowanie w środowisku z mechanizmem przywracania pamięci (27)
- Praca ze zmiennymi w C# 2.0 (28)
- Wspólne typy w .NET (28)
- Skrócone nazwy typów (29)
- Typy wartościowe a typy referencyjne (29)
- Podstawowa składnia C# (30)
- Bloki kodu (30)
- Klasyczny przykład "Witaj Świecie" (31)
- Co można zrobić z użyciem C#? (32)
- Podsumowanie (33)
- Rozgałęzianie i logika warunkowa (35)
- Wprowadzenie do wyrażeń logicznych (35)
- Zastosowanie podstawowych instrukcji warunkowych (37)
- Zastosowanie zaawansowanych instrukcji warunkowych (39)
- Zapętlanie i powtarzalność (39)
- Zastosowanie pętli for (40)
- Zastosowanie pętli while (40)
- Zastosowanie pętli do (41)
- Podsumowanie (41)
- Praca z ciągami znaków (43)
- Wprowadzenie do ciągów znaków w .NET (43)
- Formatowanie ciągów znaków (44)
- Manipulowanie ciągami znaków oraz ich porównywanie (47)
- Wprowadzenie do klasy StringBuilder (49)
- Praca z wyrażeniami regularnymi (49)
- Walidacja wprowadzanych danych (50)
- Wyodrębnianie wprowadzanych danych (50)
- Podsumowanie (51)
- Praca z tablicami (53)
- Deklaracja i inicjalizacja tablic (53)
- Stosowanie tablic jednowymiarowych (54)
- Stosowanie tablic wielowymiarowych (56)
- Zastosowanie tablic postrzępionych (59)
- Praca z kolekcjami (61)
- Porównanie tablic i kolekcji (62)
- Zastosowanie klasy ArrayList (62)
- Zastosowanie klasy Hashtable (64)
- Zastosowanie klasy Queue (65)
- Zastosowanie klasy Stack (67)
- Zastosowanie klasy SortedList (67)
- Podsumowanie (68)
- Projektowanie obiektowe (69)
- Wprowadzenie do projektowania obiektowego (69)
- Projektowanie klas (70)
- Projektowanie interfejsów (71)
- Programowanie obiektowe (72)
- Tworzenie prostej klasy (72)
- Obsługa widoczności składowych (74)
- Zastosowanie dziedziczenia (75)
- Wprowadzenie do polimorfizmu (77)
- Implementacja interfejsów (78)
- Podsumowanie (81)
- Przegląd typów ogólnych (83)
- Korzyści z zastosowania typów ogólnych (83)
- Wprowadzenie do parametrów typu (84)
- Ograniczenia dla parametrów typu (85)
- Budowa typów ogólnych (87)
- Tworzenie klas ogólnych (87)
- Tworzenie metod ogólnych (87)
- Tworzenie interfejsów ogólnych (89)
- Zastosowanie kolekcji ogólnych (90)
- Zastosowanie klasy Dictionary (90)
- Zastosowanie klasy List (90)
- Zastosowanie klasy Queue (91)
- Zastosowanie klasy Stack (91)
- Podsumowanie (92)
Rozdział 7. Wejście/wyjście i trwałość (95)
- Wprowadzenie do strumieni (95)
- Zastosowanie strumieni pamięciowych (96)
- Wprowadzenie do podstawowych operacji wejścia/wyjścia na plikach (99)
- Tworzenie plików i dopisywanie do nich (99)
- Odczyt z istniejących plików (100)
- Operacje na katalogach i systemie plików (101)
- Zastosowanie asynchronicznych operacji wejścia/wyjścia na plikach (103)
- Praca z pamięcią izolowaną (104)
- Podsumowanie (106)
- Odczyt i zapis dokumentów XML (107)
- Zapytania do XML z użyciem XPath (111)
- Przekształcanie dokumentów z użyciem XSLT (113)
- Walidacja dokumentów z użyciem XSD (115)
- Podsumowanie (117)
- Wprowadzenie do delegatów (119)
- Kowariancja i kontrawariancja (121)
- Zastosowanie metod anonimowych (122)
- Tworzenie delegatów zbiorowych (124)
- Wprowadzenie do zdarzeń (126)
- Zaawansowane programowanie oparte na zdarzeniach (128)
- Podsumowanie (133)
- Podstawy programowania wielowątkowego (135)
- Pierwsza aplikacja wielowątkowa (138)
- Tworzenie i uruchamianie wątku (138)
- Zakończenie wątku (139)
- Zawieszanie wątku (141)
- Usypianie wątku (141)
- Dołączanie do wątku (141)
- Synchronizacja wątków i ich rywalizacja o zasoby (142)
- Zastosowanie słowa kluczowego lock (143)
- Zastosowanie klasy Mutex (144)
- Zastosowanie klasy Monitor (146)
- Zastosowanie klasy Interlocked (147)
- Zastosowanie klasy ReaderWriterLock (147)
- Praca z ręcznym i automatycznym resetowaniem zdarzeń (149)
- Zastosowanie klasy ThreadPool (151)
- Podsumowanie (152)
- Wprowadzenie do refleksji (153)
- Praca z informacjami o metodach (155)
- Praca z informacjami o składowych (157)
- Badanie zdarzeń (160)
- Tworzenie i badanie atrybutów kodu użytkownika (161)
- Podsumowanie (163)
- Wprowadzenie do zestawów (165)
- Zestawy - co się za tym kryje? (166)
- Manifest zestawu (167)
- Budowa i zastosowanie zestawów (168)
- Przechowywanie i wyszukiwanie zasobów zestawów (170)
- Lokalizacja i zestawy satelickie (172)
- Wprowadzenie do domen aplikacji (174)
- Programowanie z użyciem klasy AppDomain (176)
- Podsumowanie (177)
- Wprowadzenie do zagadnienia współoperatywności w C# (179)
- Zastosowanie obiektów COM z poziomu platformy .NET (180)
- Zastosowanie zestawów PIA (Primary InterOp Assembly) (181)
- Zastosowanie klas .NET z poziomu COM (183)
- Uzyskiwanie dostępu do kodu umieszczonego w niezarządzanych bibliotekach DLL (186)
- Podsumowanie (189)
- Wprowadzenie do zabezpieczeń dostępu kodu (191)
- Zastosowanie polityki bezpieczeństwa i administrowanie nią (192)
- Administrowanie zabezpieczeniami dostępu kodu (194)
- Zastosowanie zabezpieczeń programowych (195)
- Programowe wymuszanie tożsamości (198)
- Zastosowanie zabezpieczeń deklaratywnych (200)
- Podsumowanie (201)
- Wprowadzenie do kryptografii (203)
- Szyfrowanie z kluczem tajnym (204)
- Szyfrowanie z kluczem publicznym (204)
- Tworzenie skrótów danych (205)
- Podpisy cyfrowe (206)
- Zastosowanie szyfrowania z kluczem tajnym (206)
- Zastosowanie szyfrowania z kluczem publicznym (208)
- Praca ze skrótami i podpisami cyfrowymi (210)
- Zastosowanie API zabezpieczania danych (DPAPI) (212)
- Podsumowanie (215)
- Pojęcia pakowania oraz rozpakowywania (217)
- Zastosowanie odpowiednich technik manipulowania ciągami znaków (219)
- Konstrukcja efektywnej pętli (220)
- Skracanie czasu rozruchu aplikacji (221)
- Profilowanie kodu z zastosowaniem narzędzia Performance Wizard (222)
- Podsumowanie (226)
Rozdział 17. Podstawy ADO.NET (229)
- Wprowadzenie do ADO.NET (229)
- Nawiązywanie połączenia (230)
- Tworzenie łańcuchów połączeń (230)
- Zastosowanie klas DBConnection (231)
- Komunikacja ze źródłem danych (233)
- Wykonywanie poleceń (233)
- Zastosowanie obiektów typu DataReader (236)
- Zastosowanie mechanizmu Schema Discovery (238)
- Praca z danymi (239)
- Wprowadzenie do obiektów typu DataSet (240)
- Zastosowanie klasy DataAdapter (242)
- Podsumowanie (245)
- Praca z nową, udoskonaloną klasą DataTable (247)
- Wczytywanie i zapisywanie zawartości obiektów DataTable z użyciem XML (248)
- Zastosowanie nowej klasy DataTableReader (250)
- Asynchroniczny dostęp do danych (250)
- Uaktualnianie danych w trybie wsadowym (252)
- Zastosowanie nowej przestrzeni nazw System.Transactions (254)
- Jawne zastosowanie transakcji (255)
- Niejawne zastosowanie transakcji (256)
- Podsumowanie (259)
- Wprowadzenie do źródeł danych ADO.NET (261)
- Zastosowanie fabryk dostawców (262)
- Pobieranie listy zainstalowanych fabryk dostawców (262)
- Zastosowanie fabryki dostawcy do nawiązania połączenia (263)
- Praca z łańcuchami połączenia (265)
- Wyliczanie źródeł danych (266)
- Uzyskiwanie dodatkowych informacji o dostawcy (267)
- Zastosowanie metody RetrieveStatistics() (267)
- Uzyskiwanie informacji o schemacie od dostawcy danych (268)
- Tworzenie dostawców danych ADO.NET użytkownika (269)
- Podsumowanie (270)
- Wprowadzenie do Klasy DataSet z kontrolą typów (271)
- Zastosowanie schematów XSD w tworzeniu obiektów DataSet z kontrolą typów (272)
- Zastosowanie Designera przy tworzeniu obiektów DataSet z kontrolą typów (273)
- Programowanie z użyciem obiektu DataSet z kontrolą typów (274)
- Łączenie klas DataSet z kontrolą typów i danych dynamicznych (275)
- Ręczne wypełnianie obiektu DataSet z użyciem komponentu DataAdapter (276)
- Wypełnianie klas DataSet z kontrolą typów z użyciem obiektów typu DataAdapter (276)
- Dodawanie zapytań użytkownika do obiektów DataSet z kontrolą typów (280)
- Adnotacje do klasy DataSet z kontrolą typów (281)
- Rozszerzanie obiektu DataSet z kontrolą typów za pomocą klas częściowych (284)
- Podsumowanie (285)
- Zapoznanie się z hostem SQL Server 2005 CLR (287)
- Budowa procedur składowanych w C# (288)
- Budowa funkcji definiowanych przez użytkownika w C# (291)
- Tworzenie typów definiowanych przez użytkownika w C# (292)
- Praca z nową biblioteką SQL po stronie serwera (297)
- Zastosowanie MARS (Multiple Active Result Sets) (300)
- Podsumowanie (302)
Rozdział 22. Wprowadzenie do ASP.NET i formularzy Web (307)
- Wprowadzenie do ASP.NET 2.0 (307)
- Hierarchia stron i kontrolek (308)
- Wprowadzenie do pojęcia kompilacji w ASP.NET 2.0 (308)
- Bezpieczeństwo (309)
- Zarządzanie stanem (309)
- System konfiguracji aplikacji Web (310)
- Cykl życia strony ASP.NET (310)
- Etapy cyklu życia strony ASP.NET (310)
- Zdarzenia zachodzące w cyklu życia strony ASP.NET (312)
- Przegląd kontrolek dostępnych w ASP.NET (315)
- Tworzenie i debugowanie aplikacji ASP.NET (315)
- Budowa i instalacja aplikacji ASP.NET (318)
- Debugowanie aplikacji ASP.NET (320)
- Obsługa zdarzeń i formularzy zwrotnych (320)
- Budowa dynamicznych stron interaktywnych z użyciem wywołań zwrotnych klienta (322)
- Podsumowanie (330)
- Praca ze stanem aplikacji (331)
- Praca ze stanem sesji (334)
- Zastosowanie domyślnego wewnętrznego dostawcy stanu (334)
- Zastosowanie dostawcy stanu ASP.NET State Server (338)
- Zastosowanie serwera SQL Server jako dostawcy stanu sesji (342)
- Obsługa zdarzeń stanu sesji (344)
- Praca ze stanem widoku (346)
- Zarządzanie stanem w farmach Web (348)
- Zastosowanie stanu aplikacji w farmach serwerów Web (348)
- Zastosowanie stanu sesji w farmach serwerów Web (349)
- Zastosowanie stanu widoku w farmach serwerów Web (349)
- Podsumowanie (351)
- Świat przed pojawieniem się stron wzorcowych (353)
- Potrzeba spójnego interfejsu GUI (354)
- Tworzenie spójnego GUI w ASP.NET 1.1 (354)
- Wprowadzenie do zagadnienia stron wzorcowych (355)
- Szablony stron i strony zawartości (355)
- Tworzymy pierwszy szablon strony (356)
- Tworzymy pierwszą stronę zawartości (357)
- Korzystanie z domyślnego szablonu (358)
- Strony wzorcowe "od kuchni" (359)
- Zaawansowane techniki stron wzorcowych (359)
- Zagnieżdżone szablony stron (360)
- Właściwość Master (361)
- Szablony stron z silną kontrolą typów (362)
- Obsługa względnych ścieżek (362)
- Podsumowanie (363)
- Tworzenie interfejsu użytkownika z kompozycjami i skórkami (365)
- Praca z profilami użytkownika w ASP.NET (369)
- Konfiguracja usług aplikacji (370)
- Konfiguracja dostawcy profili (371)
- Korzystanie z profili ASP.NET (372)
- Dostosowywanie dla użytkownika z kompozycjami i profilami (376)
- Podsumowanie (378)
- Podstawy kontrolek Web Parts (381)
- Korzystanie z dostawcy personalizacji (383)
- Tworzenie pierwszej strony Web Part (386)
- Tworzenie kontrolek Web Parts (394)
- Tworzenie powiązanych kontrolek Web Parts (395)
- Podsumowanie (399)
- Wprowadzenie do zagadnienia wiązania z danymi w ASP.NET (401)
- Model źródła danych (402)
- Tworzenie źródeł danych (402)
- Hierarchia kontrolek korzystających z danych (405)
- Korzystanie z kontrolek dostępu do danych (406)
- Korzystanie z kontrolki GridView (406)
- Korzystanie z kontrolki DetailsView (407)
- Korzystanie z kontrolki FormView (407)
- Korzystanie z kontrolki TreeView (409)
- Zaawansowane techniki wiązania z danymi (410)
- Tworzenie obiektowego źródła danych i korzystanie z niego (411)
- Podsumowanie (412)
- Bezpieczeństwo poprzez uwierzytelnianie (413)
- Uwierzytelnianie systemu Windows (414)
- Uwierzytelnianie w oparciu o usługę Microsoft Passport (415)
- Uwierzytelnianie oparte na formularzach (416)
- Zarządzanie kontami użytkowników (Membership API) (419)
- Bezpieczeństwo poprzez autoryzację (422)
- Autoryzacja z wykorzystaniem ról użytkowników (422)
- Kontrolki zabezpieczeń ASP.NET (425)
- Login (425)
- LoginName (426)
- LoginStatus (426)
- LoginView (427)
- PasswordRecovery (428)
- ChangePassword (429)
- CreateUserWizard (429)
- Zaawansowane bezpieczeństwo ASP.NET (430)
- Chronione ustawienia konfiguracyjne (430)
- Podsumowanie (432)
- Dostawca członkostwa (433)
- Wprowadzenie do bazowej klasy MembershipProvider (434)
- Implementacja schematu członkostwa (434)
- Przygotowanie własnego dostawcy członkostwa (436)
- Konfiguracja i instalacja dostawcy członkostwa (443)
- Dostawca ról (444)
- Wprowadzenie do bazowej klasy RoleProvider (444)
- Implementacja schematu ról (445)
- Przygotowanie własnego dostawcy ról (446)
- Konfiguracja i instalacja dostawcy ról (450)
- Dostawca profili ProfileProvider (450)
- Wprowadzenie do bazowej klasy ProfileProvider (450)
- Implementacja schematu profili (451)
- Tworzenie własnego dostawcy profili (452)
- Konfiguracja i instalacja dostawcy profili (456)
- Dodatkowi dostawcy (456)
- Wprowadzenie do dostawcy SessionState (457)
- Wprowadzenie do dostawcy SiteMap (457)
- Podsumowanie (458)
- Budowa kontrolek użytkownika (461)
- Tworzenie kontrolek serwera (464)
- Zarządzanie stanem z poziomu kontrolek serwera (468)
- Podsumowanie (473)
- Prezentacja nowego systemu monitorowania sprawności (475)
- Zastosowanie systemu monitorowania sprawności (477)
- Tworzenie własnych zdarzeń (479)
- Tworzenie własnych dostawców zdarzeń (483)
- Zastosowanie liczników wydajności ASP.NET (484)
- Podsumowanie (487)
Rozdział 32. Udostępnianie funkcjonalności za pomocą usług Web (491)
- Wprowadzenie do usług Web (491)
- Jak działają usługi Web (492)
- Tworzenie prostej usługi typu "Witaj Świecie" (493)
- Tworzenie usług transakcyjnych (499)
- Zarządzanie stanem w usługach Web (500)
- Podsumowanie (502)
- Projektowanie architektur zorientowanych na usługi (SOA) (503)
- Luźne sprzężenie a zależności (504)
- SOA jako sposób bycia (504)
- Zastosowanie Web Service Discovery (507)
- Zastosowanie niestandardowych nagłówków SOAP (509)
- Programowanie bezpiecznych usług Web (512)
- Sprzęganie formularzy Windows z usługami Web (514)
- Podsumowanie (516)
Rozdział 34. Wprowadzenie do Windows Forms 2.0 (519)
- Podstawy Windows Forms (519)
- Windows Forms kontra Web Forms (520)
- Tworzenie aplikacji w technologii Windows Forms (522)
- Zastosowanie projektanta Windows Forms (523)
- Zastosowanie okna Document Outline (524)
- Wyrównywanie kontrolek za pomocą SnapLines (524)
- Tworzenie formularzy o zmiennych rozmiarach (526)
- Elementy poprawnego projektowania interfejsów użytkownika (528)
- Kolory w projekcie (528)
- Świadomość rozmiarów w projekcie (528)
- Złożoność projektu (529)
- Świadomość ilości kliknięć w projekcie (529)
- Intuicyjność projektu (529)
- Podsumowanie (529)
- Okno narzędziowe wspólnych kontrolek (531)
- Kontrolka Button (532)
- Kontrolka CheckBox (532)
- Kontrolka CheckedListBox (532)
- Kontrolka ComboBox (532)
- Kontrolka DateTimePicker (533)
- Kontrolka Label (533)
- Kontrolka LinkLabel (533)
- Kontrolka ListBox (534)
- Kontrolka ListView (534)
- Kontrolka MaskedTextBox (535)
- Kontrolka MonthCalendar (535)
- Kontrolka NotifyIcon (535)
- Kontrolka NumericUpDown (536)
- Kontrolka PictureBox (536)
- Kontrolka ProgressBar (536)
- Kontrolka RadioButton (537)
- Kontrolka TextBox (537)
- Kontrolka RichTextBox (537)
- Kontrolka ToolTip (537)
- Kontrolka TreeView (538)
- Kontrolka WebBrowser (538)
- Kontenery (539)
- Kontrolka FlowLayoutPanel (539)
- Kontrolka GroupBox (539)
- Kontrolka Panel (540)
- Kontrolka SplitContainer (540)
- Kontrolka TabControl (540)
- Kontrolka TableLayoutPanel (540)
- Menu i paski narzędziowe (541)
- Kontrolka ContextMenuStrip (541)
- Kontrolka MenuStrip (541)
- Kontrolka StatusStrip (541)
- Kontrolka ToolStrip (542)
- Kontrolka ToolStripContainer (542)
- Kontrolki związane z danymi (542)
- Kontrolka DataSet (542)
- Kontrolka DataGridView (543)
- Kontrolka BindingSource (543)
- Kontrolka BindingNavigator (543)
- Kontrolka ReportViewer (543)
- Grupa Components okna narzędziowego (544)
- Komponent BackgroundWorker (544)
- Komponent DirectoryEntry (544)
- Komponent DirectorySearcher (544)
- Komponent ErrorProvider (544)
- Komponent EventLog (545)
- Komponent FileSystemWatcher (545)
- Komponent HelpProvider (545)
- Komponent ImageList (546)
- Komponent MessageQueue (546)
- Komponent PerformanceCounter (546)
- Komponent Process (546)
- Komponent SerialPort (547)
- Komponent ServiceController (547)
- Komponent Timer (547)
- Komponenty i kontrolki do obsługi wydruku (547)
- Komponent PageSetupDialog (547)
- Komponent PrintDialog (547)
- Komponent PrintDocument (548)
- Komponent PrintPreviewControl (548)
- Komponent PrintPreviewDialog (548)
- Komponenty okien dialogowych (548)
- Komponent ColorDialog (548)
- Komponent FolderBrowserDialog (548)
- Komponent FontDialog (549)
- Komponent SaveFileDialog (549)
- Podsumowanie (549)
- Wprowadzenie do GDI+ (551)
- Uzyskanie obiektu Graphics (552)
- Tworzenie przykładu "Witaj GDI+" (552)
- Rysowanie i wypełnianie kształtów (554)
- Wykorzystanie pędzli gradientowych (556)
- Tworzenie formularzy i kontrolek o niestandardowych kształtach (558)
- Wykorzystanie dziedziczenia wizualnego (559)
- Internacjonalizacja interfejsu użytkownika (560)
- Podsumowanie (563)
- Wiązanie danych za pomocą obiektów klasy DataSet z kontrolą typów (565)
- Wykorzystanie okienka Data Sources (566)
- Dodanie zbioru danych do formularza (566)
- Przykład dostępu do zbioru danych z kontrolą typów (568)
- Wprowadzenie do BindingSource (569)
- Wykorzystanie kontrolki BindingNavigator (572)
- Podstawy kontrolki BindingNavigator (572)
- Czynności wiązania danych wywoływane przez użytkownika (572)
- Praca z komponentem DataGridView (573)
- Podstawy DataGridView (574)
- Wykorzystanie kolumn ComboBox w kontrolce DataGridView (577)
- Zaawansowane dostosowanie komórek (578)
- "Niezwiązana" kontrolka DataGridView (581)
- Dostęp do danych obiektowych (581)
- Podstawy dostępu do danych za pośrednictwem obiektów (582)
- Wykorzystanie interfejsów IEditableObject i INotifyPropertyChanged (583)
- Wiązanie danych w relacji rodzic-potomek (586)
- Podsumowanie (586)
- Praktyczne wykorzystanie Usług Web (590)
- Uzyskiwanie adresu URL usługi Web z UDDI (591)
- Zastosowanie nowego systemu ustawień aplikacji (591)
- Wsparcie dla pracy w trybie offline i online (593)
- Autoryzacja i uwierzytelnianie użytkowników (596)
- Wielowątkowe korzystanie z usług Web (598)
- Zastosowanie kontrolki BackgroundWorker (600)
- Podsumowanie (602)
- Wprowadzenie do technologii ClickOnce (603)
- Publikowanie aplikacji ClickOnce (605)
- Rozpowszechnianie poprzez sieć Web lub udziały sieciowe (606)
- Umieszczanie na CD (606)
- Aplikacja uruchamiana bezpośrednio z sieci Web lub z udziału sieciowego (607)
- Instalacja aplikacji ClickOnce (607)
- Uaktualnianie aplikacji ClickOnce (610)
- Programowanie w przestrzeni nazw System.Deployment.Application (613)
- Podsumowanie (617)
- Rejestrowanie komponentów usługowych (619)
- Rejestracja ręczna (620)
- Rejestracja automatyczna (620)
- Aktywacja w momencie wykonania i pule obiektów (622)
- Komponenty kolejkowane (624)
- Bezpieczeństwo oparte na rolach (625)
- Transakcje (627)
- Właściwości współdzielone (628)
- Luźno powiązane zdarzenia (630)
- Podsumowanie (633)
Rozdział 41. Technologia Remoting (637)
- Przegląd technologii Remoting (637)
- Przedstawienie klasy MarshalByRefObject (638)
- Obiekty pojedynczego wywołania a obiekty singleton (639)
- Obsługa kanałów komunikacyjnych w technologii Remoting (641)
- Zastosowanie kanału IPC (641)
- Zastosowanie kanału TCP (645)
- Dzierżawy okresu istnienia (647)
- Technologia Remoting i typy ogólne (649)
- Podsumowanie (652)
