Szerző: Alex Mackey Kiadó: Szak Kiadó, 2010 oldalszám: 608 ISBN: 978 963 9863 17 0
A könyvről A .NET-fejlesztők számára nagyon izgalmas időket élünk, hiszen a Visual Studio 2010 és a .NET 4.0 megjelenése az új lehetőségek kimeríthetetlen tárházát hozta. A könyvben belemélyedünk a .NET 4.0 és a Visual Studio 2010 újdonságaiba, és megvizsgáljuk azokat a legfontosabb kapcsolódó rendszereket, amelyek támogatják ezt a technológiát. Ilyen például az ASP.NET MVC, a Windows Azure, a Silverlight 3 és a WCF-adatszolgáltatások. A könyv széles körű tudást kíván nyújtani. Célom, hogy rövid idő alatt képet kapjunk a .NET-fejlesztés világának új és izgalmas lehetőségeiről, így egészként tekintsünk az új technológiák lehetőségeire. Hivatásos fejlesztőként elég tapasztalattal rendelkezünk ahhoz, hogy magtaláljuk azokat a kiegészítő forrásokat, amelyekkel a számunkra érdekes területeken elmélyíthetjük a tudásunkat. Ám ehhez tudnunk kell, hogy milyen lehetőségek állnak a rendelkezésünkre, és ezek közül melyeket tudjuk hasznosítani. A könyv mindehhez nyújt segítséget. Remélem, hogy az Olvasó végül úgy fogja érezni, hogy a könyv élvezhető és könnyen olvasható bevezetést kínál a .NET 4.0 és a Visual Studio 2010 világába.”
Tartalomjegyzék A szerzőről .......................................................... xxix A szakmai lektorról ............................................... xxxi Köszönetnyilvánítás ............................................. xxxiii Külső munkatársak ....................................................................... xxxiii Bevezetés .......................................................... xxxv Ám a könyv mindezeket biztosítja .............................................. xxxv A kódpéldák biztosítása ............................................................... xxxvi A munka folyamatossága ............................................................ xxxvi 1. Bevezetés .......................................................... 1 Verziók ........................................................................................................ 1 Miről is szól a Visual Studio 2010 és a .NET 4.0? ................................ 2 Hatékonyság .......................................................................................... 2 A meglevő technológiák tökéletesebbé válása .................................. 3 Kiterjeszthetőség ................................................................................... 4 Az aktuális trendek befolyásolása ...................................................... 4 Mit gondolnak mások a .NET 4.0-ról? ................................................... 5 Mike Ormond (Microsoft-evangelista) .............................................. 5 Eric Nelson (Microsoft-evangelista) ................................................... 6 Craig Murphy (MVP és fejlesztői közösségszervező) ...................... 6 Phil Whinstanley (ASP.NET-MVP és szerző) ................................... 7 Dave Sussman (MVP és szerző) .......................................................... 8 Matt Lacey (Devevening.co.uk szervező) .......................................... 8 Alex Mackey (a könyv szerzője, MVP) .............................................. 9 A jövő irányzatai ................................................................................. 10 Saját szubjektív véleményem ............................................................ 11 Zárásként ................................................................................................... 11 2. A Visual Studio IDE és a MEF ................................. 13 Általános fejlesztések ............................................................................. 14 Továbbfejlesztett célplatform-támogatás ......................................... 14 Intellisense............................................................................................ 16 Add References ................................................................................... 17 Webes fejlesztés (kódoptimalizált profil) ........................................ 17 Zoom ..................................................................................................... 18 Highlight References .......................................................................... 18 Navigate To .......................................................................................... 19 Box Selection ........................................................................................ 20 Call Hierarchy ..................................................................................... 22 Kódgenerálás ....................................................................................... 22 Consume first üzemmód .................................................................... 24 Töréspontok ......................................................................................... 24 Eszköztár .............................................................................................. 25 Kódrészletek ........................................................................................ 25 Egyedi kezdőlapok létrehozása ........................................................ 29 T4-es (Text Template Transformation Toolkit) fájlok ..................... 30 Visual Studio 2010 Premium és Ultimate ........................................... 30 Szekvenciadiagram-generálás ........................................................... 31 Historikus hibakeresés (csak a Team System kiadásban) ............. 31 A kódszerződések statikus elemzése ............................................... 31 Az IDE testreszabása .............................................................................. 31 Az MEF (Managed Extensibility Framework) ................................... 32 Miért használjuk az MEF-et? ............................................................. 33 Helló MEF! ........................................................................................... 34 Hogyan működik ez a példa? ............................................................ 36 MEF-katalógusok ................................................................................ 37 Metaadatok .......................................................................................... 40 Mindez hogyan kapcsolódik a Visual Studio kiterjeszthetőségéhez? ........................................................................ 41 Visual Studio-kiterjeszthetőség ......................................................... 41 Editor Margin ...................................................................................... 42 Kiterjesztések megosztása .................................................................. 44 Az Extension Gallery .......................................................................... 44 Visual Studio Shell .............................................................................. 45 A Dotfuscator újdonságai ...................................................................... 46 Összefoglalás............................................................................................ 46 3. Nyelvi és dinamikus változások ............................. 47 A VB és a C# jövőbeli közös fejlődése ................................................ 47 A C# újdonságai ...................................................................................... 48 Nevesített és opcionális paraméterek .................................................. 48 Szabályok ............................................................................................. 49 A VB.NET változásai .............................................................................. 50 Sorfolytonosság ................................................................................... 50 A következtetett sorfolytonosság szabályai .................................... 50 A névtelen metódusok támogatása .................................................. 51 Automatikusan megvalósított tulajdonságok ................................. 51 Egyszerűbb COM-együttműködés ...................................................... 53 Kifogytunk a PIA-fájlokból ................................................................ 55 Variancia ................................................................................................... 55 A hosszabb verzió ............................................................................... 56 Kontravariancia ................................................................................... 59 Ajánlott olvasmányok ........................................................................ 62 Dinamikus újdonságok .......................................................................... 62 Nem tehettük meg mindezeket már eddig is a .NET-ben? ........... 63 Statikus nyelvek .................................................................................. 63 Dinamikus nyelvek ............................................................................. 63 A dinamizmus veszélyei .................................................................... 64 A dynamic típus .................................................................................. 64 System.Dynamic.ExpandoObject ...................................................... 66 System.Dynamic.DynamicObject ..................................................... 67 IDynamicMetaObjectProvider .......................................................... 68 A dinamizmus korlátai ....................................................................... 68 A dinamikus IL .................................................................................... 69 Dinamikus nyelvi futtatókörnyezet (DLR) ...................................... 71 IronPython ........................................................................................... 73 Michael Foord ...................................................................................... 76 F# ........................................................................................................... 79 Jon Skeet ............................................................................................... 80 A C# jövője ............................................................................................... 83 4. CLR- és BCL-változások ....................................... 85 Az új CLR .................................................................................................. 85 AZ ASP.NET ........................................................................................ 86 A CLR melyik verzióját használja az alkalmazásunk? .................. 86 A kívánt keretrendszer meghatározása ........................................... 86 VB.NET parancssori fordító .............................................................. 87 Továbbfejlesztett kliensprofil ............................................................ 87 Egymás mellett futás folyamaton belül ........................................... 88 Szemétgyűjtő ............................................................................................ 90 A .NET 4.0 előtti szemétgyűjtő .......................................................... 90 A .NET 4.0 szemétgyűjtője ................................................................. 91 GC.RegisterForFullGCNotification() ................................................ 92 Szálkezelés ............................................................................................... 92 Globalizáció ............................................................................................. 92 A globalizáció változásai a .NET 4.0-ban ......................................... 93 TimeSpan globalizált formázás és értelmezés ................................ 94 Biztonság ................................................................................................... 94 Transzparenciamodell ........................................................................ 94 Transzparens kód ................................................................................ 95 Biztonságos kritikus kód .................................................................... 95 Kritikus kód ......................................................................................... 95 Biztonságos kritikus kapuőr .............................................................. 95 Miért fontos ez? ................................................................................... 96 Biztonsági módosítások ..................................................................... 96 SecAnnotate ......................................................................................... 97 APTCA és Evidence ............................................................................ 97 Megfigyelés és profilok kialakítása .................................................... 98 Natívkód-generátor (NGen) .................................................................. 98 A natív kód újdonságai .......................................................................... 99 Kivételkezelés .......................................................................................... 99 CorruptedStateExceptions ................................................................. 99 Új típusok ............................................................................................... 100 BigInteger ........................................................................................... 100 Lazy ............................................................................................. 101 Memóriába leképezett fájlok ........................................................... 102 SortedSet ..................................................................................... 104 ISet interfész ............................................................................... 104 Tuple ................................................................................................... 104 System.Numerics.Complex ............................................................. 105 System.IntPtr és System.UIntPtr ..................................................... 105 Végrekurzió ....................................................................................... 105 A meglévő funkcionalitás módosításai ............................................. 105 Action és Func metódusreferenciák ............................................... 106 Tömörítési fejlesztések ..................................................................... 106 File IO ................................................................................................. 106 Path.Combine() .................................................................................. 107 Isolated Storage ................................................................................. 107 A rendszerleíró adatbázis hozzáférésének változásai ................. 107 Stream.CopyTo() ............................................................................... 108 Guid.TryParse(), Version.TryParse() és Enum.TryParse() ........................................................................ 108 Enum.HasFlag() ................................................................................ 108 A String.Concat() és a String.Join() IEnumerable-támogatása .......................................................... 109 String.IsNullOrWhiteSpace()........................................................... 109 StringBuilder.Clear() ......................................................................... 109 Az Environment.SpecialFolder felsorolás bővítései ..................... 110 Environment.Is64BitProcess és Environment.Is64BitOperatingSystem ........................................... 110 Stopwatch.Restart() ........................................................................... 110 ServiceProcessInstaller.DelayedAutoStart .................................... 110 Az Observable gyűjtemény átszervezése ...................................... 111 IObservable ................................................................................. 111 Network Class könyvtárak (NCLs) .................................................... 111 Csak a Windows 7-ben elérhető újdonságok ................................ 113 Elavult API-k .......................................................................................... 114 System.Data.OracleClient ................................................................ 114 Globális statikus hosztfüggvények ................................................. 115 Kódszerződések ..................................................................................... 115 Hello kódszerződések ...................................................................... 115 Kódszerződések telepítése ............................................................... 116 Példa kódszerződésre ....................................................................... 117 Kódszerződések statikus ellenőrzésének engedélyezése (csak a Premium/Ultimate kiadásokban) ..................................... 119 Szerződések öröklése ........................................................................ 119 Architektúra ....................................................................................... 119 Feltételek ............................................................................................ 120 Kódszerződések értékei ................................................................... 122 Pure ..................................................................................................... 122 Interfészszerződések ......................................................................... 123 PEX ...................................................................................................... 123 Összefoglalás.......................................................................................... 123 Ajánlott olvasmányok .......................................................................... 124 5. A párhuzamosítás és a szálkezelés újdonságai ......... 125 A párhuzamosítás áttekintése ............................................................. 126 Fontos fogalmak .................................................................................... 126 Miért van szükség ezekre a továbbfejlesztésekre? ....................... 126 Konkurens! = Párhuzamos .............................................................. 127 A szálkezelés és a párhuzamosság fokozza az alkalmazás összetettségét ........................................................... 128 A párhuzamosan futó rosszul megírt kód csak párhuzamosított rosszul megírt kód .............................................. 129 Mely alkalmazások számára előnyös a párhuzamosítás? ........... 129 Csak egymagos géppel rendelkezem. Tudom futtatni ezeket a példákat? ................................................. 130 Előfordulhat, hogy a párhuzamosító funkciók lelassítják a munkámat? ................................................................... 130 Teljesítmény ....................................................................................... 130 Párhuzamos ciklusok ............................................................................ 131 Parallel.For() ........................................................................................... 131 Valószínűtlen példa? ........................................................................ 132 ParallelOptions .................................................................................. 136 Parallel.ForEach() .............................................................................. 136 A párhuzamosítás csökkentheti a teljesítményt ........................... 136 Parallel.Invoke() ................................................................................ 137 Feladatok ................................................................................................. 137 Feladatütemező ................................................................................. 137 Új feladat létrehozása ....................................................................... 139 Task.Wait() és Task.WaitAll() .......................................................... 139 Task.WaitAny() ................................................................................. 140 IsCompleted ....................................................................................... 140 ContinueWith() .................................................................................. 141 A párhuzamos ciklusok minden egyes iterációhoz létrehoznak egy szálat? .................................................................... 141 Feladatok visszatérési értékei ............................................................. 142 Mi történik akkor, ha a feladatnak még nincs eredménye? ........ 142 A feladatok létrehozása .................................................................... 142 A feladatok állapota .......................................................................... 143 A feladatütemező felülbírálása ....................................................... 143 A felhasználói felület szálainak ütemezése ................................... 143 Párhuzamos hibakereső továbbfejlesztések .................................... 144 A párhuzamos feladatok ablak ....................................................... 145 Parallel Stacks ablak ......................................................................... 146 PLINQ (Párhuzamos LINQ) ................................................................ 148 Miért nem érdemes valamennyi LINQ-lekérdezést automatikusan párhuzamosítani? .................................................. 149 Helló PLINQ ...................................................................................... 149 Az eredmények rendezése ............................................................... 150 A ForAll() operátor ........................................................................... 150 AsSequential() ................................................................................... 150 WithMergeOptions ........................................................................... 151 A PLINQ teljesítménye .................................................................... 151 PLINQ-lekérdezések megszakítása ................................................ 151 Kivételek és a párhuzamos LINQ ................................................... 152 Koordinációs adatszerkezetek (CDS – Coordination Data Structures) és a szálkezelési fejlesztések .......................................... 152 Szálkészlettel kapcsolatos továbbfejlesztések ............................... 153 Thread.Yield() .................................................................................... 153 Monitor.Enter() .................................................................................. 153 Konkurens gyűjtemények ................................................................ 154 Szinkronizációs primitívek .............................................................. 157 Megszakítástokenek ......................................................................... 158 Amit még érdemes meggondolni ....................................................... 161 Danny Shih-interjú ............................................................................... 161 Phil Whinstanley ................................................................................... 163 Összefoglalás.......................................................................................... 163 Ajánlott olvasmányok .......................................................................... 164 6. Windows Workflow Foundation 4 ......................... 165 Miért használjuk a WF-et? ................................................................... 165 Mit nyújt a Windows Workflow? ....................................................... 168 Mi a Windows Workflow Foundation? ............................................. 169 Munkafolyamat-futtató környezet ................................................. 170 Tevékenységek .................................................................................. 170 Munkafolyamat-tervező ................................................................... 171 Meglévő WF3-felhasználók ................................................................. 172 Az állapotgép-munkafolyamat eltűnt ............................................ 172 A verzióváltási útmutatók ............................................................... 172 WF3-as futtatókörnyezet .................................................................. 172 Interop tevékenység .......................................................................... 172 Megéri a verzióváltás? ...................................................................... 173 Minden megváltozott ........................................................................... 173 Üdv a WF4 világában ....................................................................... 173 Helló, WF! .......................................................................................... 173 Argumentumok és változók ............................................................ 174 Saját tevékenységek létrehozása ........................................................ 182 Tevékenység létrehozása más tevékenységekből ......................... 183 Tevékenységek létrehozása tisztán forráskódból ......................... 184 XAML-alapú munkafolyamatok ..................................................... 185 Munkafolyamatok meghívása ............................................................ 187 Folyamatábra .......................................................................................... 188 WCF/üzenetkezelési fejlesztések ....................................................... 191 Korreláció ........................................................................................... 192 WCF Workflow-alapú szolgáltatások ................................................ 192 Tevékenységek .................................................................................. 195 Egyéb fejlesztések ................................................................................. 200 John Mcloughlin .................................................................................... 202 Összegzés ................................................................................................ 202 7. Windows Communication Foundation ................... 203 Konfiguráció nélküli WCF .................................................................. 203 Alapértelmezett kötés, működés és végpontok ............................... 205 Alapértelmezett kötés és viselkedés ............................................... 206 Alapértelmezett végpontok ............................................................. 206 Nincs svc fájl .......................................................................................... 207 Továbbítási szolgáltatás ....................................................................... 208 Továbbítási példa .............................................................................. 209 Továbbítási szűrők ............................................................................ 211 A csoportos továbbítás támogatása ................................................ 212 Protokollok összekapcsolása ........................................................... 212 Redundancia ...................................................................................... 212 WS-Discovery ......................................................................................... 212 Felügyelt mód .................................................................................... 213 Adhoc mód ........................................................................................ 213 Szolgáltatásértesítési események .................................................... 217 A WCF Starter Kit integrációja ........................................................... 217 Súgóoldalak ....................................................................................... 217 HTTP-gyorsítótárazás ...................................................................... 220 Egyéb változások ................................................................................... 220 Tökéletesebb WF-integráció ............................................................ 220 A teljesítménnyel kapcsolatos alapértelmezett beállítások módosulásai ................................................................... 220 Alacsony memória ............................................................................ 221 Egyéb újdonságok ............................................................................. 221 Dublin/Windows Application Server ............................................... 222 Ajánlott olvasmányok .......................................................................... 223 8. Entity Framework ............................................ 225 Az EF és a LINQ to SQL ....................................................................... 225 Vége LINQ to SQL-nak? ................................................................... 226 A LINQ to SQL újításai .................................................................... 226 Miért használjuk az EF-et? .................................................................. 227 Absztrakció ........................................................................................ 227 Kódgenerálás ..................................................................................... 227 Különböző adatbázisok támogatása ............................................... 228 Tervezésidejű támogatás .................................................................. 228 A LINQ használata ........................................................................... 228 N-rétegű alkalmazásfejlesztés ......................................................... 228 Hol használjuk az EF-et? ...................................................................... 229 EF 101 ....................................................................................................... 229 Entitás-adatmodell ............................................................................ 229 EDM létrehozása ............................................................................... 230 Navigálás az EF-modellben ............................................................. 234 Adatok lekérdezése ........................................................................... 237 CRUD-műveletek az EF-ben ............................................................... 239 Létrehozás .......................................................................................... 239 Módosítás ........................................................................................... 240 Törlés .................................................................................................. 241 Az EFv1 kritikái ..................................................................................... 241 Entity Framework 4 ............................................................................... 242 Az EDM tervező módosításai .............................................................. 243 Teljesítmény ........................................................................................... 244 Pluralizálás ............................................................................................. 244 Késleltetett/lusta betöltés ..................................................................... 245 Mohó betöltés .................................................................................... 245 Összetett típusok tervezésének a támogatása ............................... 245 Összetett típusok létrehozása tárolt eljárásokból ......................... 247 Modellel definiált függvények ........................................................... 249 Modellalapú adatbázis-generálás....................................................... 251 Idegen kulcsok ....................................................................................... 257 Csak kód/POCO ............................................................................... 258 POCO az EF4-ben.............................................................................. 258 Kódgenerálás-sablonok .................................................................... 260 Julie Lerman (MVP és „A Programming Entity Framework” szerzője) ........................................................................... 261 Dane Morgridge ..................................................................................... 262 Összefoglalás.......................................................................................... 263 Referenciák / Ajánlott olvasmányok ................................................. 264 9. WCF-adatszolgáltatások ..................................... 265 Bevezetés a WCF-adatszolgáltatásba ................................................. 265 Entity Framework ............................................................................. 266 Adatszolgáltatás létrehozása ........................................................... 269 Az Internet Explorer-tartalom beállításai ...................................... 270 Bevezetés a WDS-be.......................................................................... 271 WCF-adatszolgáltatások lekérdezése ................................................ 272 Biztonság a WCF-adatszolgáltatásokban ....................................... 274 Lekérdezéselfogók (Query interceptors) ....................................... 274 Az eredmények visszaküldése különböző formátumokban ........ 275 JSON használata a JavaScripttel ...................................................... 275 JSON használata C#-pal ................................................................... 276 WDS-proxyosztályok ............................................................................ 277 Elemek lekérdezése proxyosztályokkal ......................................... 277 Új elem hozzáadása a proxyosztályokkal ...................................... 279 Elem módosítása ............................................................................... 279 Elem törlése ........................................................................................ 280 WDS 1.5 ................................................................................................... 280 RowCount és a szerveroldali lapozás ............................................ 280 A visszaadott eredmények számának a korlátozása .................... 281 Leképezések ....................................................................................... 282 Barátságos hírcsatornák ................................................................... 283 További fejlesztések .......................................................................... 283 Hogyan kapcsolódnak egymáshoz a WDS és a WCF RIA szolgáltatásai? ............................................................... 283 Összefoglalás.......................................................................................... 284 Ajánlott olvasmányok .......................................................................... 284 10. Az ASP.NET .................................................... 285 Projektsablonok ..................................................................................... 285 Web.config .............................................................................................. 286 IDE-újdonságok ..................................................................................... 287 Kódrészletek ........................................................................................... 288 ASP.NET-kódrészletek ..................................................................... 288 A kódrészletek használata ............................................................... 289 Telepítés .................................................................................................. 292 Web.config-transzformáció ............................................................. 292 Új telepítési konfiguráció létrehozása ............................................ 293 Web.config-transzformáció parancssorból .................................... 295 Web.config-transzformációs lehetőségek ...................................... 295 Webes csomagok ............................................................................... 296 Publikálás egy kattintással ............................................................... 299 ViewState ................................................................................................ 300 ClientIDMode ........................................................................................ 301 Response.RedirectPermanent() ........................................................... 302 Metacímkék ............................................................................................ 303 URL-átirányítás ...................................................................................... 303 HTML-kódolás ....................................................................................... 305 HtmlString ......................................................................................... 305 Egyedi kérés validálása .................................................................... 306 Egyedi kódolók ................................................................................. 306 Az URL és a lekérdezési sztring hossza ............................................ 306 Érvényes URL-karakterek .................................................................... 306 Hozzáférhetőség és szabványok ......................................................... 307 controlRenderingCompatibilityVersion ........................................ 307 RenderOuterTable ............................................................................. 308 CheckBoxList és RadioButtonList ................................................... 308 Az ASP.NET Menu vezérlőelem ..................................................... 308 További vezérlőelem-fejlesztések ...................................................... 309 A Wizard vezérlőelem ...................................................................... 309 ListView-újdonságok ........................................................................ 309 GridView ............................................................................................ 310 CompareValidator ............................................................................ 310 Lekérdezésbővítő .............................................................................. 310 A böngészőképesség-fájlok .............................................................. 310 Webes alkalmazások automatikus indítása ..................................... 310 Munkamenet-állapot tömörítése ........................................................ 312 Gyorsítótárazás ...................................................................................... 312 Velocity ............................................................................................... 312 System.Runtime.Caching ................................................................. 313 Erőforrás-felügyelet .............................................................................. 313 Diagram-vezérlőelemek ....................................................................... 314 Dinamikusadat-keretrendszer ............................................................ 316 Összefoglalás.......................................................................................... 316 Ajánlott olvasmányok .......................................................................... 316 11. Microsoft AJAX-könyvtárak ................................ 317 Változtatások az architektúrában ....................................................... 317 Kompatibilitás ................................................................................... 318 Egy pageLoad-probléma javítása ................................................... 318 Telepítés .................................................................................................. 318 Microsoft AJAX-könyvtárak hozzáadása a projekthez ................ 318 A kliensoldali szkript betöltője ....................................................... 320 Az AJAX-könyvtárakat ekkor a Microsoft hosztolja .................... 322 ScriptManager EnableCDN ............................................................. 323 Az AJAX-eszközkészlet integrációja ................................................. 323 A vezérlőelemek jQuery-bővítményként jelennek meg ............... 323 DataView ................................................................................................ 324 XHTML-kompatibilis? ...................................................................... 324 Helló, Microsoft AJAX ...................................................................... 324 sys-template CSS-szabály ................................................................ 325 DataView kötés ...................................................................................... 326 Deklaratív kötés ................................................................................ 326 Programozott kötés ........................................................................... 327 Tisztább programozott kötés ........................................................... 328 Összetett adatkötés (master detail binding) ..................................... 330 Kötés külső szolgáltatásokhoz ............................................................ 331 Webszolgáltatás (.asmx) ................................................................... 332 WCF-kötés .......................................................................................... 333 JSONP ................................................................................................. 335 Speciális kötés ........................................................................................ 335 Feltételes renderelés .......................................................................... 336 Kötésátalakítók ...................................................................................... 337 Kétirányú kötés ...................................................................................... 338 Sys.Observer........................................................................................... 339 WCF-adatszolgáltatások adatkörnyezete ...................................... 340 Összefoglalás.......................................................................................... 342 Ajánlott olvasmányok .......................................................................... 343 12. A jQuery ........................................................ 345 jQuery- vagy Microsoft AJAX-könyvtár? ......................................... 345 A jQuery áttekintése ............................................................................. 346 A jQuery letöltése .............................................................................. 347 IntelliSense ......................................................................................... 347 Szkripthosztolás ................................................................................ 348 Hello jQuery ...................................................................................... 348 Hogyan működik mindez? .............................................................. 350 Elemek kiválasztása .............................................................................. 351 CSS-kiválasztók ................................................................................. 352 A jQuery-kiválasztók ........................................................................ 353 Halmazok használata ....................................................................... 353 Az .each() metódus ........................................................................... 353 Attribútumértékek és a CSS használata ......................................... 354 Elemek dinamikus kiírása ................................................................... 354 Szkript futtatása az oldal betöltésekor .............................................. 355 Függvények megadása ......................................................................... 356 Animáció/effektek ................................................................................. 356 Effektek túlterhelése ......................................................................... 357 Alapvető könyvtáreffektek .............................................................. 357 További effektek ................................................................................ 358 A Glimmer ......................................................................................... 358 jQuery-eszközök ................................................................................ 358 Események láncolása ............................................................................ 359 A jQuery testreszabása ......................................................................... 359 AJAX-metódusok ................................................................................... 360 JavaScript-fájl betöltése és futtatása ............................................... 360 Adatküldés ......................................................................................... 360 Egy oldal legfrissebb verziójának a letöltése ................................. 361 JSON-objektum lekérdezése ............................................................ 361 Egy jobban működő megoldás ........................................................ 362 Segédmetódusok ................................................................................... 364 jQuery-kiegészítések ............................................................................ 364 Összefoglalás.......................................................................................... 365 Ajánlott olvasmányok .......................................................................... 365 13. ASP.NET MVC .................................................. 367 Az MVC története .................................................................................. 368 AZ MVC előnyei .................................................................................... 368 Egy létező MVC-alkalmazás ............................................................... 369 Az állapot fogalma ................................................................................ 371 Típusinicializálás .................................................................................. 372 Az MVC telepítése ................................................................................ 372 MVC-alkalmazás létrehozása .............................................................. 373 Projektstruktúra ................................................................................ 373 Az MVC-oldalak elrendezésének a módosítása ........................... 374 A modell létrehozása ........................................................................ 375 Vezérlő létrehozása ........................................................................... 380 Nézet hozzáadása ............................................................................. 380 Az alkalmazás futtatása ................................................................... 381 A továbbítás közelről ........................................................................ 382 Nézetek létrehozása .......................................................................... 384 ViewData és TempData .................................................................... 384 Adatlista megjelenítése ........................................................................ 385 Vissza 1998-ba? .................................................................................. 387 Részletes oldal létrehozása .............................................................. 388 HtmlHelper metódusok ................................................................... 390 Erősen típusos nézetek ..................................................................... 391 Erősen típusos nézet létrehozása .................................................... 391 Az új hozzáadása és a törlési funkciók létrehozása ..................... 394 Adatok fogadása a felhasználóktól ................................................. 395 Attribútumok ..................................................................................... 396 Az ASP.NET MVC és a JavaScript ..................................................... 397 Egyéni továbbítás .................................................................................. 401 Az ASP.NET MVC és a biztonság ...................................................... 402 Az MVC bővítése .................................................................................. 404 Bővítőmetódusok .............................................................................. 404 Szűrők ................................................................................................. 405 Tesztelés .................................................................................................. 405 Hamis filmadattár létrehozása ........................................................ 405 Teszt létrehozása ............................................................................... 406 A Film-vezérlő módosítása .............................................................. 408 Tesztek futtatása ................................................................................ 408 Az ASP.NET MVC V2 .......................................................................... 409 Az ASP.NET MVC a valós életben .................................................... 409 Hogyan tovább? ..................................................................................... 411 Az ASP.NET MVC fontosabb jellemzői ........................................... 412 Fontos szempontok ............................................................................... 412 Összefoglalás.......................................................................................... 413 Ajánlott olvasmányok .......................................................................... 414 14. Silverlight. Bevezetés ....................................... 415 Silverlight versus Flash ........................................................................ 416 Silverlight a valós életben ................................................................... 417 WPF .......................................................................................................... 418 XAML ....................................................................................................... 419 A Silverlight követelményei és telepítése ........................................ 419 Expression Blend ................................................................................... 419 Új Silverlight-projekt létrehozása ...................................................... 420 Projektstruktúra ................................................................................ 421 Hi Yo, Silver ....................................................................................... 422 Silverlight hozzáadása az alkalmazásunkhoz ................................. 424 Object címke ....................................................................................... 424 Silverlight-oldalak ............................................................................. 426 Egyedi Silverlight-vezérlőelem létrehozása .................................. 427 App.xaml ............................................................................................ 428 Stílusok ............................................................................................... 429 Elemek pozicionálása ........................................................................... 430 Csatolt és függőségi tulajdonságok ................................................... 431 Elrendezést szabályozó vezérlőelemek ............................................. 432 Canvas ................................................................................................ 432 StackPanel .......................................................................................... 433 Grid (Rács) ......................................................................................... 435 Egyszerű animáció ................................................................................. 437 Programozott animáció létrehozása ............................................... 438 Válasz a felhasználói eseményekre ................................................ 440 Animáció deklaratív módon ............................................................ 441 HTML-integráció ................................................................................... 442 JavaScript-függvény meghívása Silverlightból ............................. 442 DOM-elem-értékek megváltoztatása a Silverlightból .................. 443 Silverlight-függvény meghívása a JavaScriptből .......................... 444 Paraméterek átadása a Silverlight számára ................................... 445 InitParams .......................................................................................... 446 Lekérdezéssztring ............................................................................. 446 Tartalom beágyazása a Silverlight-alkalmazásba ........................... 447 XAML dinamikus betöltése ................................................................. 448 Média ....................................................................................................... 449 További vezérlőelemek ........................................................................ 452 Adatkötés ................................................................................................ 452 Adatkötési módok ............................................................................. 456 Adatkötés és függőségi tulajdonságok .......................................... 457 Kétirányú kötés ................................................................................. 458 Adatkötés ListBoxhoz ....................................................................... 459 Adatsablonok ..................................................................................... 459 Adatrács.............................................................................................. 460 Hálózati kommunikáció ....................................................................... 462 Összefoglalás.......................................................................................... 462 Ajánlott olvasmányok .......................................................................... 464 15. WPF 4.0 és Silverlight 3.0 .................................. 465 IDE-fejlesztések ..................................................................................... 465 VS2010 WPF/Silverlight tervező .................................................... 465 A tulajdonság forrása szerinti rendezés ......................................... 466 Tulajdonságikonok ........................................................................... 466 Stílus .................................................................................................... 466 Ecsetek ................................................................................................ 468 Kötésablak .......................................................................................... 470 Az adatkötés megtervezése ............................................................. 470 Új Image Picker – képkiválasztó ..................................................... 471 Tökéletesített rácstervező ................................................................. 471 Felhasználói vezérlőelemek tökéletesített hibakezelője .............. 471 A statikus erőforrásokkal kapcsolatos tervezőprobléma javítása ................................................................. 473 Fogd-és-dobd adatkötés ................................................................... 473 Tökéletesített XAML Intellisense .................................................... 477 Új vezérlőelemek ................................................................................... 477 A Ribbon vezérlőelem és a Bag O’Tricks ....................................... 479 Windows 7-es integráció ...................................................................... 479 Ugráslisták ......................................................................................... 480 Tálca .................................................................................................... 481 Multitouch (sokérintős) funkció ........................................................ 482 Kötésváltoztatások ................................................................................ 484 Run.text .............................................................................................. 484 Dinamikus kötés támogatása .......................................................... 484 Az InputBinding már támogatja a kötéseket ................................ 484 Szövegmegjelenítési fejlesztések ....................................................... 485 TextOptions.TextFormattingMode ................................................. 485 TextOptions.TextRenderingMode .................................................. 486 RenderOptions.ClearTypeHint ....................................................... 487 Kelet-ázsiai Bitmap betűtípus támogatása .................................... 487 Az elrendezés kerekítése .................................................................. 488 Gyorsítótárazott összeállítás ............................................................ 488 Animációkönnyítés (Easing) ........................................................... 489 Pixel Shader 3.0-s támogatás ........................................................... 490 A Visual State Manager integrációja .............................................. 490 HTML XBAP-szkriptegyüttműködés ............................................. 490 Megbízható XBAP-telepítés ............................................................. 490 Kliensprofil ........................................................................................ 491 Egyéb változtatások .......................................................................... 491 Silverlight 3.0 ......................................................................................... 492 A Silverlight 2 felújítása ................................................................... 492 Kapcsolat nélküli alkalmazások ......................................................... 492 Offline alkalmazás létrehozása ....................................................... 492 Offline Silverlight-alkalmazások eltávolítása ............................... 495 Manuális leválasztás ......................................................................... 495 A melléklet állapotának lekérdezése .............................................. 496 A kapcsolat állapotának kiderítése ................................................. 496 Automatikus frissítés ........................................................................ 496 Deep Linking (mélylinkelés) és Browser History (böngészőelőzmények) ......................................................................... 496 Navigation Application (navigációalkalmazás) ........................... 497 Helyi kapcsolatok ......................................................
|