Stručný obsah Kapitola 17: Portálové rámce a webové části (WebParts)
15
Kapitola 18: Práce s jazyky HTML a CSS v prostředí ASP.NET
63
Kapitola 19: Technologie AJAX a ASP.NET
93
Kapitola 20: Balíček ASP.NET AJAX Control Toolkit
127
Kapitola 21: Zabezpečení
189
Kapitola 22: Efektivní správa stavu
225
Kapitola 23: Zvýšení výkonu pomocí kešování
261
Kapitola 24: Ladění a zpracování chyb
293
Kapitola 25: Souborové operace I/O a proudy
327
Kapitola 26: Uživatelské a serverové ovládací prvky
377
Kapitola 27: Moduly a handlery
459
Kapitola 28: Práce s firemními objekty
479
Kapitola 29: Sestavení a využívání služeb
505
Kapitola 30: Lokalizace
557
Kapitola 31: Konfigurace
581
Kapitola 32: Instrumentace
633
Kapitola 33: Administrace a správa
669
Kapitola 34: Sestavení a nasazení aplikací ASP.NET
697
Příloha A: Migrace starších projektů ASP.NET
727
Příloha B: Nejlepší nástroje pro ASP.NET
743
3
Stručný obsah Příloha C: Silverlight
765
Rejstřík
783
4
Obsah Kapitola 17: Portálové rámce a webové části (WebParts) Seznámení s webovými částmi Sestavování dynamických a modulárních webů Seznámení s ovládacím prvkem WebPartManager Práce s rozvržením zón Seznámení s ovládacím prvkem WebPartZone Jak uživateli umožnit změnit režim stránky Změna zón Práce se třídami v portálovém rámci Vytváření vlastních webových částí Propojování webových částí Sestavení poskytující webové části Sestavení konzumující webové části Propojení webových částí na stránce ASP.NET Obtíže se vzorovou stránkou při propojování webových částí Souhrn
Kapitola 18: Práce s jazyky HTML a CSS v prostředí ASP.NET Problémy Přehled jazyků HTML a CSS Seznámení s jazykem CSS Tvorba šablony stylů Pravidla jazyka CSS Dědičnost v jazyku CSS Rozvržení a umístění elementů Práce s jazyky HTML a CSS ve Visual Studiu Adaptéry ovládacích prvků ASP.NET 2.0 přívětivější vůči technologii CSS Shrnutí
15 16 17 18 18 21 24 36 43 46 52 53 56 58 61 62
63 64 64 66 66 68 77 78 85 92 92
5
Obsah
Kapitola 19: Technologie AJAX a ASP.NET Důvody pro nasazení technologie AJAX Situace před příchodem technologie AJAX AJAX to vše mění ASP.NET AJAX a Visual Studio 2008 Technologie na straně klienta Technologie na straně serveru Vývoj aplikací s technologií ASP.NET AJAX Aplikace postavené na technologii ASP.NET AJAX Vytvoření jednoduché stránky ASP.NET bez technologie AJAX Vytvoření jednoduché stránky ASP.NET s technologií AJAX Ovládací prvky knihovny ASP.NET AJAX na straně serveru Ovládací prvek ScriptManager Ovládací prvek ScriptManagerProxy Ovládací prvek Timer Ovládací prvek UpdatePanel Ovládací prvek UpdateProgress Používání několika ovládacích prvků UpdatePanel Shrnutí
93 93 94 95 97 98 99 99 100 102 104 110 111 113 114 116 120 123 126
Kapitola 20: Balíček ASP.NET AJAX Control Toolkit
127
Stažení a instalace Nové šablony pro Visual Studio Přidání nových ovládacích prvků na panel nástrojů Visual Studia 2008 Ovládací prvky ASP.NET AJAX Extendery balíčku ASP.NET AJAX Control Toolkit Serverové ovládací prvky balíčku ASP.NET AJAX Control Toolkit Ovládací prvek Accordion Ovládací prvek NoBot Ovládací prvek PasswordStrength Ovládací prvek Rating Ovládací prvek TabContainer Shrnutí
128 129 130 131 132 179 179 182 184 184 185 187
Kapitola 21: Zabezpečení Ověřování a opravňování Aplikace metod ověřování Uzel
Ověřování Windows Formulářové ověřování Ověřování typu Passport Zpřístupňování určitých souborů a složek Programové opravňování Práce s vlastností User.Identity Práce s metodou User.IsInRole Jak získat více informací pomocí WindowsIdentity
6
189 190 190 191 191 199 209 210 210 211 212 213
Obsah Identita a zosobnění Zabezpečení pomocí IIS Omezení adres IP a doménových názvů Práce s příponami souborů Použití modulu ASP.NET konzoly MMC Práce ve Správci Internetové informační služby Souhrn
216 218 218 219 221 223 223
Kapitola 22: Efektivní správa stavu
225
Jaké máte možnosti? Seznámení s objektem Session v ASP.NET Relace a model událostí Konfigurace správy stavu relace Stav relace v procesu Stav relace mimo proces Stav relace podporovaný SQL Rozšíření stavu relace o další poskytovatele Stav relace bez prvků cookie Volba správného způsobu zachovávání stavu Objekt Application Query Strings Prvky cookie Zpětná odeslání a zpětná odeslání mezi stránkami Skrytá pole, stav zobrazení a stav prvku Využití HttpContext.Current.Items jako krátkodobého úložiště Souhrn
Kapitola 23: Zvýšení výkonu pomocí kešování Kešování Kešování výstupu Částečné kešování stránky (uživatelských ovládacích prvků) Náhrada po uložení do mezipaměti (post-cache substitution) HttpCachePolicy a klientské kešování Programové kešování Kešování dat pomocí objektu Cache Řízení mezipaměti Závislosti mezipaměti Práce se závislostí mezipaměti SQL Serveru Volba databází s podporou závislosti mezipaměti SQL Severu Zapnutí závislosti mezipaměti u tabulek SQL Serveru Pohled na SQL Server 2000 Pohled na aktivované tabulky Zrušení podpory ukončení platnosti mezipaměti SQL Serveru v určité tabulce Zrušení podpory ukončení platnosti mezipaměti SQL Serveru v určité databázi Zrušení platnosti mezipaměti SQL Serveru 2005/2008 Konfigurace aplikace ASP.NET Testování ukončení platnosti mezipaměti SQL Serveru Jak přidat na stránku více než jednu tabulku Jak připojit závislosti mezipaměti SQL Serveru k objektu Request
226 228 228 230 230 239 243 247 248 249 250 251 251 252 254 259 260
261 261 262 264 266 268 270 270 271 271 277 278 278 279 280 280 281 281 282 284 286 287
7
Obsah Jak připojit závislosti mezipaměti SQL Serveru k objektu Cache Souhrn
Kapitola 24: Ladění a zpracování chyb Podpora při návrhu Upozornění na syntaxi Bezprostřední a příkazové okno Seznam úkolů Trasování Třída System.Diagnostics.Trace a vlastnost Page.Trace Trasování na úrovni stránky Trasování aplikace Zobrazení trasovacích údajů Trasování z komponent Přeposílání trasování Objekty TraceListener Přepínače diagnostiky Webové události Ladění Co je zapotřebí IIS versus vývojový server ASP.NET Spuštění relace ladění Nové nástroje pomáhající s laděním Ladění klientského Javascriptu Ladění uložených procedur SQL Výjimky a zpracování chyb Zpracování výjimek na stránce Zpracování výjimek v aplikaci Stavové kódy HTTP Souhrn
Kapitola 25: Souborové operace I/O a proudy Práce s jednotkami, adresáři a soubory Třída DriveInfo Třídy Directory a DirectoryInfo Třídy File a FileInfo Práce s cestami Vlastnosti, atributy a seznamy řízení přístupu souborů a adresářů Čtení a zapisování souborů Proudy Čtenáři a zapisovatelé Komprese proudů Práce se sériovými porty Síťová komunikace Třídy WebRequest a WebResponse Odesílání pošty Souhrn
8
287 291
293 293 294 295 296 297 297 297 298 298 302 303 304 308 309 311 312 313 314 317 320 321 323 323 324 325 326
327 328 328 331 336 341 345 352 352 357 361 366 367 368 374 375
Obsah
Kapitola 26: Uživatelské a serverové ovládací prvky Uživatelské ovládací prvky Tvorba uživatelských ovládacích prvků Práce s uživatelskými ovládacími prvky Dynamické načítání uživatelských ovládacích prvků Serverové ovládací prvky Nastavení projektu Atributy ovládacího prvku Generování prvku Přidání atributů značek Styly HTML Témata a vzhledy Doplnění klientských funkcí Zjištění a zpracování schopností prohlížečů Práce se stavem zobrazení Vyvolávání událostí zpětného odeslání Zpracování zpětně odeslaných dat Složené ovládací prvky Šablonové ovládací prvky Nastavení chování ovládacího prvku během návrhu Souhrn
Kapitola 27: Moduly a handlery Zpracování požadavků HTTP IIS 5/6 a ASP.NET IIS 7 a ASP.NET Zpracování požadavků v ASP.NET Moduly HTTP Handlery HTTP Souhrn
Kapitola 28: Práce s firemními objekty Práce s firemními objekty v ASP.NET 3.5 Tvorba předkompilovaných firemních objektů .NET Práce s předkompilovanými firemními objekty v aplikacích ASP.NET Spolupráce s COM: Využití COM v rámci .NET Běhová volatelná obálka Práce s objekty COM v kódu ASP.NET Zpracování chyb Nasazení komponent COM s aplikacemi .NET Práce s rámcem .NET z neřízeného kódu Obálka volatelná z COM Používání komponent .NET v objektech COM Časná a pozdní vazba Zpracování chyb Nasazení komponent .NET s aplikacemi COM Souhrn
377 378 378 381 382 388 388 393 394 398 400 403 404 414 417 421 425 427 430 438 458
459 459 459 460 461 461 472 478
479 479 480 483 483 484 485 490 493 494 495 497 500 501 502 504
9
Obsah
Kapitola 29: Sestavení a využívání služeb Komunikace mezi nesourodými systémy Sestavení jednoduché webové služby XML Stránková direktiva WebService Pohled na soubor bázové třídy webové služby Vystavení vlastních datových sad jako SOAP Rozhraní webové služby XML Využívání jednoduché webové služby XML Doplnění webového odkazu Volání webové služby z klientské aplikace Transportní protokoly webových služeb HTTP-GET HTTP-POST SOAP Přetěžování webových metod Kešování odpovědí webové služby Hlavičky protokolu SOAP Sestavení webové služby s hlavičkami SOAP Využití webové služby s hlavičkami SOAP Požadavky na webové služby pomocí SOAP 1.2 Asynchronní využívání webových služeb Windows Communication Foundation Velký posun směrem k SOA Přehled WCF Vytvoření služby WCF Vytvoření spotřebitele WCF Přidání odkazu na službu Práce s datovými kontrakty Jmenné prostory Souhrn
Kapitola 30: Lokalizace Kultury a regiony Typy jazykových verzí Podprocesy ASP.NET Deklarace jazykové verze na straně serveru Deklarace jazykové verze na straně klienta Překlad hodnot a chování Soubory zdrojů ASP.NET 3.5 Používání lokálních zdrojů Používání globálních zdrojů Editor zdrojů Souhrn
Kapitola 31: Konfigurace Přehled konfigurace Konfigurační soubory pro server Konfigurační soubor aplikace
10
505 505 507 508 509 510 512 516 516 518 520 521 524 524 525 527 529 529 531 533 535 538 538 539 540 547 547 550 555 556
557 557 558 559 561 563 563 571 571 577 580 580
581 582 583 585
Obsah Jak se aplikuje konfigurační nastavení Detekce změn v konfiguračním souboru Formát konfiguračního souboru Běžná konfigurační nastavení Připojovací řetězce Nastavení stavu relace Nastavení kompilace Vlastnosti prohlížeče Vlastní chybová hlášení Autentizace Anonymní identita Autorizace Zamknutí konfigurace Konfigurace stránky ASP.NET Vkládání souborů Nastavení běhu ASP.NET Nastavení pracovního procesu ASP.NET Ukládání nastavení pro konkrétní aplikaci Programování konfiguračních souborů Ochrana konfigurace Úpravy konfiguračních souborů Vytváření vlastních sekcí Práce s objektem NameValueFileSectionHandler Práce s objektem DictionarySectionHandler Práce s objektem SingleTagSectionHandler Práce s vlastním pomocným konfiguračním objektem Shrnutí
Kapitola 32: Instrumentace Práce s protokolem událostí Čtení z protokolu událostí Zápis do protokolu událostí Práce s měřiči výkonu Sledování měřičů výkonu pomocí nástrojů Vytvoření administračního nástroje pro prohlížeč Trasování aplikace Monitorování zdraví aplikace Model poskytovatelů pro monitorování zdraví Konfigurace monitorování zdraví Zápis událostí prostřednictvím konfigurace: spuštění příkladu Směrování událostí do SQL Serveru Ukládání webových událostí do zásobníku Posílání webových událostí e-mailem Souhrn
Kapitola 33: Administrace a správa ASP.NET Web Site Administration Tool Karta Home Karta Security Karta Application
586 586 587 588 588 589 593 595 597 598 601 602 604 604 606 607 609 611 612 619 623 625 625 627 628 629 632
633 633 634 636 639 639 642 647 648 648 650 657 658 661 663 668
669 669 670 671 680
11
Obsah Karta Provider Konfigurace ASP.NET v IIS v systému Windows Vista .NET Compilation .NET Globalization .NET Profile .NET Roles .NET Trust Levels .NET Users Application Settings Connection Strings Pages and Controls Providers Session State SMTP E-mail Souhrn
Kapitola 34: Sestavení a nasazení aplikací ASP.NET
685 687 688 689 689 690 690 690 691 692 693 693 693 695 695
697
Části nasazení Kroky před nasazením Metody nasazení webových aplikací Využití příkazu XCopy Práce s příkazem Copy Web Site aplikace Visual Studio Nasazení předkompilované webové aplikace Sestavení instalačního programu Bližší pohled na možnosti instalátoru Práce s vlastnostmi projektu nasazení Editor systému souborů Editor registru Editor typů souborů Editor uživatelského rozhraní Editor vlastních akcí Editor podmínek spuštění Souhrn
698 698 699 699 702 704 706 714 714 718 721 722 723 724 725 726
Příloha A: Migrace starších projektů ASP.NET
727
Migrace není složitá Společný souběh více verzí Frameworku Aktualizace (upgrade) vaší aplikace ASP.NET Formulářové ověřování při míchání verzí Aktualizace (upgrading) – vyhrazené složky ASP.NET Stránky ASP.NET 3.5 jsou ve formátu XHTML Žádné fixní soubory .js v ASP.NET 3.5 Převod aplikací ASP.NET 1.x ve Visual Studiu 2008 Migrace z ASP.NET 2.0 na 3.5
727 727 729 729 731 731 733 734 739
Příloha B: Nejlepší nástroje pro ASP.NET Snazší vývoj Firebug
12
743 743 744
Obsah YSlow Lišty IE WebDeveloper a Firefox WebDeveloper Aptana Studio – integrované vývojové prostředí pro JavaScript Profilery: dotTrace a ANTS Odkazy PositionIsEverything.net, QuirksMode.org a HTMLDog.com Visibone www.asp.net Uhlazení kódu Refactor! pro ASP.NET od společnosti Devexpress Code Style Enforcer Packer pro .NET – Javascript Minimizer Dodatky k Visual Studiu Dodatek ASPX Edit Helper pro Visual Studio Power Toys Pack Installer Rozšíření ASP.NET ASP.NET AJAX Control Toolkit ELMAH – Error Logging Modules and Handlers od Atifa Azize ISAPI_Rewrite od společnosti Helicon Vývojářské nástroje pro obecné použití Online Code Converter od společnosti Telerik Nástroje pro spojování a rozdíly Reflector CR_Documentor Process Explorer Souhrn
Příloha C: Silverlight Rozšíření aplikací ASP.NET o Silverlight Krok 1: Základní aplikace ASP.NET Hledání vektorového obsahu Převod vektorového obsahu do XAML Nástroje pro prohlížení a editaci XAML Vestavěný editor XAML ve Visual Studiu 2008 Integrace s vaší existující stránkou ASP.NET Práce s událostmi Silverlightu v JavaScriptu Přístup k elementům Silverlightu z událostí v JavaScriptu Souhrn
Rejstřík
745 746 747 748 749 749 750 750 750 751 752 753 754 754 755 756 756 757 758 759 759 760 760 762 763 764
765 765 765 767 770 771 773 777 779 780 781
783
13