240 likes | 365 Views
ASP.NET MVC raamistikust tulenevad võimekused. Mait Poska & Andres Käver, IT Kolledž 2013. Jõudlus. Mis mõjutab jõudlust? Mis on jõudlus? Kuidas mõõta? Probleemid?. Väljundi puhverdamine(Output Caching. Deklaratsioon Atribuudid Duration(nõutud) VarByParam(nõutud)
E N D
ASP.NET MVC raamistikust tulenevad võimekused Mait Poska & Andres Käver, IT Kolledž 2013
Jõudlus • Mis mõjutab jõudlust? • Mis on jõudlus? • Kuidas mõõta? • Probleemid?
Väljundi puhverdamine(Output Caching • Deklaratsioon • Atribuudid • Duration(nõutud) • VarByParam(nõutud) • Cacheprofile web.config • Ei lisa vaatesse! • Miks?
Väljundi puhverdamine(2) • Atribuudid • VarByParam – none, *, name • Location – asukoht(server, klient, mõlemad) • VarByHeader – HTTP header • VarByCustom – Staatiline meetod Global.asax’is. Tuleb ise implementeerida • SqlDependency – jälgib andmebaasi tabelis toimuvaid muudatusi
Andmete puhverdamine • Outputcache salvestab serverisse lehe HTML väljundi • Probleem • Erinevad lehed pärivad sarnaseid andmeid • Erinevaid lehti on palju ja seega ei saavutata olulist jõudluse võitu • Lahendus?
Andmete puhverdamine(Data Caching) • ASP.NET Cache API • Võimaldab puhvrisse salvestada kõiki andmeobjekte • Cache Dependencies(Failid, andmebaas) • Ajamäärused
Cache API • HttpContext.Cache.Insert(.. • Key – võti, mille järgi otsitakse • Value – väärtus, mis lisatakse puhvrisse • Dependencies – SQL\File • AbsoluteExpiration – Absoluutne aegumisaeg • SlidingExpiration – Sõltub aegumisaeg
Cache API praktikas • Loo eraldi klass • Hoolitse selle eest, et puhvrit ka kasutatakse • Vajadusel täida puhvrit asünkroonselt • Mõtle alati läbi, mida puhverdada • Jälgi serveri mälukasutust • Jälgi andmebaasi tehtavaid päringuid
SQLCachedependency Using System.Web.Caching Web.config
Lokaliseerimine • Erinevates kultuurides erinevad keeled, erinevad vormingud väärtuste erinevusteks • CurrentCulture – väärtuste kuvamine • CurrentCultureUI – UI renderdamisel. (Kultuur USA, UI Kanada) • Näide: DateTime • Globalization
Lokaliseerimine • Web.config • Automaatne • Culture=“auto“ • UICulture=“auto“ • Info võetakse brauserist • NB! Rahaühikud
Ressursid (.resx andmefailid) • Resx failid hoiavad lokaliseeritud teksti • Vastavalt failinimele on võimalik erinevatele kultuuridele anda erinevad väärtused • Võti-väärtus paar • Näide: • Resources.resx – peamine fail(vaikimisi) • Resources.en.resx – hoiab ingliskeelseid tõlkeid
Ressursid • Staatiliste teksti asemel nö „võtmed“. Parem hallatavus • Ära lisa ressursse App_Globalresources kausta • NB! Vaikimisi genereeritakse valmis klass, mis on Internal. Tuleb kasutada public varianti.
Vigade jälgimine • Serveris ja ka enda arvutis • Computer Management • Logitakse kõik vead(sõltub eelkõige machine.config) • Võimalik jälgida veebirakendusega esinenud probleeme
Jõudluse jälgimine(2) • Performance Monitor (perfmon) • Graafiline liides • Võimalik jälgida sisuliselst kõike
Autentimine • Kasutaja kindlaks tegemine(kes on?) • ASP.NET võimalused • Forms authentication • OpenID/Oauth • Windows Authentication(Intranet)
Windows authentication • Sisevõrgust • Demo
[Authorize] • [Authorize] • Ilma parameetriteta lubatakse ainult autentitud kasutaja • Parameeter võib olla kontrolleri peal või konkreetse action’i juures • Kontrolleri peal kehtib terve kontrolleri kohta • Action’i peal kehtib ainult selles • Roles – rollid, kes võivad vaadata • Users – kasutajad, kes võivad vaadata
[Authorize] Vaates
OpenID/OAuth • App_Start/Authconfig.cs • Vajalik on enne oma rakendus registreerida • Appid/appsecret • Olemasolevatest ei nõua ainult Google registreerimist