410 likes | 551 Views
ASP.NET. Cache, State DataGrid og Diagnostics. Agenda – ASP.NET. Cache, State og Cookies ( 1 del ) Cache Static member Application State Session State View State Cookies Visning og manipulering af data (2 del) DataTable DataGrid Diagnostics i ASP.NET. ASP.NET. Cache Page Caching
E N D
ASP.NET Cache, State DataGrid og Diagnostics
Agenda – ASP.NET • Cache, State og Cookies ( 1 del ) • Cache • Static member • Application State • Session State • View State • Cookies • Visning og manipulering af data (2 del) • DataTable • DataGrid • Diagnostics i ASP.NET
ASP.NET • Cache • Page Caching • Partial Page Caching • Data Caching
ASP.NET • OutputCache directive
ASP.NET • Placering af Output Cache
ASP.NET • Caching flere versioner af en Page • Afhængigt af VaryByParam • ’None’ En version af siden cached • ’*’ N versioner cached baseret på Query string • V1 N versioner af Page cached, V1 i Query string • V1,V2 N versioner af Page cached, V1,V2 i Query string
ASP.NET • Partial Page Caching • Indkapsle dele som er ideelle for caching (User controls) • Kode Eksempel
ASP.NET • Guideline for Output caching • Enable output cache på sider som tilgås ofte og returnere det eksakt samme resultat hver gang • Cache så få sider som muligt • Sider som tilgås meget hvor en del af siden er meget statisk og en anden er meget dynamisk bør opdeles i user-controls med egen cache • Når cache slås til skal det sikres at der ikke opstår forkert visning for visse klienter • Overvej nøje hvilken Duration der skal være på siden, i forhold til memory forbrug samt visning af invalide data • Overvej nøje sliding expiration på en side, hvis der bruges VaryByParam=’*’
ASP.NET • Data caching
ASP.NET • Cache Entry Attributes
ASP.NET • Cache Dependencies
ASP.NET • Cache Object Removal
ASP.NET • Guideline for Data caching • Data cache er ikke en container for shared updateable state • Concurrency protection • Cache data som tilgås ofte og er relative ”tunge” at hente • Data afhængige af file data kan der bruges CacheDependency • Vær opmærksom på coherency problemer
ASP.NET • Static member • Ikke thread-safe • Bliver ikke notificeret ved ændring af variable • Udløber ikke • Bliver ikke automatisk slettet => stort forbrug af memory
ASP.NET • State Management
ASP.NET • Eksempel på brug af Application State
ASP.NET • Application State • Fordele • Hensigtsmæssigt i visse situationer at gemme globale data i denne (Read-only) • Ulemper • Scalability • Ikke godt til globale data som bliver opdateret jævnligt • Kopieret for hver Application State • Bliver ikke gemt når IIS bliver Recycled
ASP.NET • Session State • Unique for klient • Ligger i samme Process og AppDomain som applikationen under normale omstændigheder • Kode eksempel
ASP.NET • Session State out of Process • SQL Server • Bemærk første gang skal InstallSqlState.sql køres
ASP.NET • Session State out of Process • State Server
ASP.NET • Session Key Management
ASP.NET • Cookie State • Ikke med i HTTP specifikationen (endnu) • Bruges til at gemme bruger specifikke informationer, session variable, identitet • Klienten gemmer cookie • Sendes frem og tilbage mellem hvert Request • Kan bruges som Session dog skal kunne konveres til og fra strings • Klient kan slå Cookies fra • Kode eksempel
ASP.NET • View State • Gemmes i skjulte felte på ASP.NET siden som hedder __VIEWSTATE • Sendes med hver gang der sker et kald • Primær brug er for controls (opretholdelse af state) • Kan bruges til at gemme klient specifikke data mellem post back • Gemmes ikke ved kald til ny .aspx side • Bør slå View State fra på visse Controls • Kode eksempel
ASP.NET 1 Del slut
ASP.NET • DataGrid • DataSet, DataTable • Paging eksempel • Sorting eksempel • Editing eksempel
ASP.NET • Diagnostics og error handling
ASP.NET • Page Tracing
ASP.NET • Enabling trace on Page
ASP.NET • Writing trace messages
ASP.NET • Writing custom trace messages
ASP.NET • Application-level tracing
ASP.NET • Enabling application-level tracing
ASP.NET • Debugging
ASP.NET • Error handling
ASP.NET • Adding a customErrors element
ASP.NET • Unhandled exception
ASP.NET • Dealing with unhandled exception
ASP.NET • Saving exception information
ASP.NET • Retaining and accessing exception information
ASP.NET • Summary
ASP.NET 2 Del slut