<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.vyvojari.sk/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Vyvojari.sk Blogy</title><link>http://blog.vyvojari.sk/</link><description>Kto nebloguje na www.vyvojari.sk, nebloguje!</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Oracle Exalogic Elastic Cloud–cloud v škatuli</title><link>http://blog.vyvojari.sk/lubolacko/archive/2012/05/09/oracle-exalogic-elastic-cloud-cloud-v-katuli.aspx</link><pubDate>Wed, 09 May 2012 08:46:32 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307191</guid><dc:creator>lubolacko</dc:creator><slash:comments>0</slash:comments><description>&lt;h1&gt;Oracle Exalogic Elastic Cloud – cloud v škatuli&lt;/h1&gt;  &lt;p&gt;Riešenie Oracle Exalogic Elastic Cloud (EEC) bolo odbornej verejnosti prvý krát predstavené na konferencii Oracle Open World na jeseň 2010. Ako už býva u Oracle po akvizícii spoločnosti Sun Microsystems dobrým zvykom, aj v tomto prípade sa jedná o kombinácia hardvéru a softvéru. Riešenie je s veľkou dávkou nadhľadu možné označiť ako „cloud v škatuli“.&lt;/p&gt;  &lt;p&gt;Takéto označenie sa možno na prvý pohľad prieči vnímaniu pojmu cloud v zmysle niečoho skôr nehmotného, ako nejaké virtuálne éterické IT prostredie, ktoré poskytuje služby a o ktoré sa netreba starať. Takto by mali vnímať používatelia, takéto povedomie v nich cielene budujú súčasní a budúci významní hráči na trhu s IT službami poskytovanými prostredníctvom globálnych dátových centier. Bez ohľadu na stupeň virtualizácie a abstrakcie cloudového riešenia sa&amp;#160; konečnom dôsledku pri „konzumovaní“ IT služieb aj tak musia niekde „preháňať“ elektróny po kremíkových substrátoch, a to buď u vás vo firme, alebo niekde v dátovom centre. Z uvedeného vyplýva, že hardvérovú štruktúru je potrebné niekde inštalovať a nakonfigurovať. V tomto procese znamená riešenie „cloud v škatuli“ značnú časovú úsporu.&lt;/p&gt;  &lt;p&gt;Nemenej zaujímavé pre pochopenie pozície Oracle Exalogic Elastic Cloud je, ako pojem cloud vníma spoločnosť Oracle, konkrétne jej CEO Larry Ellison. Nakoľko v USA nie je porovnávacia reklama zakázaná, Ellison odmieta prístup niektorých konkurenčných spoločností, ktoré citujem: „... použili 10 rokov staré technológie a riešenia a rebrandovali ich na cloud“. Praktickým dôsledkom sú slabo zabezpečené riešenia, málo odolné proti chybám a o nejakej virtualizácii, či elasticite nemôže byť ani reči. Sú to SaaS aplikácie bežiace za firewallom.“ Cloudová vízia Oracle inklinuje skôr k riešeniam typu Amazon EC2 (Elastic Compute Cloud), teda k riešeniam obsahujúcim hardvér aj softvér využívajúci virtualizačné technológie. K riešeniam škálovateľným, elastickým, ktoré umožňujú prevenciu a izoláciu chýb. Vďaka akvizícii Sun Microsystems Oracle dokáže takéto riešenie ponúknuť. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clsk1_447ADA83.png"&gt;&lt;img title="clsk1" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clsk1" src="http://blog.vyvojari.sk/blogs/lubolacko/clsk1_thumb_52797DE6.png" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Jednou z veľmi výkonných a spoľahlivých hardvérových platforiem na prevádzku cloudových riešení je Oracle Exalogic Elastic Cloud disponujúci bezkonkurenčným výkonom pre Java aplikácie. Skúsme poodhaliť a kvantifikovať tajomstvo jeho výkonu trochu. Riešenie disponuje 30 –timi servermi a každý z nich využíva dva šesťjadrové64-bitové procesory, čo dokopy poskytuje výpočtovú kapacitu 30 x 2 x 6 = 360 procesorových jadier. Každý zo spomínaných tridsiatich serverov prepojených medzi sebou cez 40 GB/s infinband ďalej disponuje 3 TB RAM a 1 TB pamäte SSD, Pre rýchle a spoľahlivé ukladanie údajov je k dispozícii SAS disk storage s kapacitou 40TB.&lt;/p&gt;  &lt;p&gt;Zákazník má výber buď operačný systém Oracle Solaris alebo Oracle Linux. Z ďalšieho predinštalovaného a predkonfigurovaného softvéru uvediem Oracle WebLogic Server, Java Oracle middleware, Oracle Exalogic Compute Node Base Images, či Oracle Exalogic Configuration Utilities .&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clsk2_0907292B.png"&gt;&lt;img title="clsk2" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clsk2" src="http://blog.vyvojari.sk/blogs/lubolacko/clsk2_thumb_5843FBB2.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nasledujúci obrázok azda najlepšie ilustruje nielen vnútornú hardvérovú architektúru a prepojenie jednotlivých subsystémov pomocou , 40 GB/s Infinband, ale aj možnosti sieťového pripojenia k „zvyšku sveta“, teda v praxi k sieťovej infraštruktúre dátového centra.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clsk3_3750890B.png"&gt;&lt;img title="clsk3" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clsk3" src="http://blog.vyvojari.sk/blogs/lubolacko/clsk3_thumb_7B149795.png" width="190" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pre ilustráciu uvedieme niekoľko faktov prezentovaných Larry Ellisonom, CEO spoločnosti Oracle: „Výpočtová sila Exalogic nasadená na webovom serveri je schopná vybaviť 1 milión požiadaviek HTTP za sekundu. V porovnaní s konkurenciou poskytuje Exalogic 12-násobné zvýšenie výkonu internetových aplikácií a viac než 4-násobné zrýchlenie messagingu, čo v číselnom vyjadrení znamená takmer dva milióny správ za sekundu“. Keďže prevádzka na Facebooku rastie po strmej exponenciále, k nasledujúcemu smelému Ellisonovmu výroku je potrebné dodať že odznel v roku 2010: “Dva paralelne bežiace riešenia Exalogic by dokázali pokryť kompletnú prevádzku Facebooku“. &lt;/p&gt;  &lt;p&gt;Oracle Exalogic Elastic Cloud je predurčený pre výkonovo kritické aplikácie vytvorené nielen v jazyku Java, ale aj v iných programovacích jazykoch. Dodáva sa predkonfigurovaný, otestovaný a optimalizovaný. Praktickým dôsledkom je, že sa výrazne zrýchli čas potrebný na nielen na nasadenie cloudovej platformy, ale aj čas na nasadenie aplikácií do plnej prevádzky. Proces optimalizácie je zameraný prevádzku viacvláknových aplikácií. Riešenie Oracle Exalogic Elastic Cloud je vhodné pre konsolidáciu údajových centier, pretože umožňuje vedľa seba prevádzkovať tisíce aplikácií s rôznymi požiadavkami na funkčnosť, spoľahlivosť aj zabezpečenie. Pri virtualizácii aplikácií Oracle Solaris na Oracle Exalogic Elastic Cloud nie je potrebné vykonávať žiadne zmeny. Systém je optimalizovaný aj pre integráciu s Oracle Database 11g, Oracle Real Application Clusters a Oracle Database Machine Exadata.&lt;/p&gt;  &lt;p&gt;Oracle Exalogic Elastic Cloud ponúka hĺbkovú analýzu hardvéru, ktorá upozorní zákazníka na možnosť zlyhania ešte pred tým, než k nemu dôjde. Technológia Oracle Solaris Predictive Self Healing umožňuje zotavenie a obnovu systému. Oracle Solaris SMF (Service Management Framework) je určený pre automatický reštart softvérových komponentov v prípade problémov, čím sa znižujú neplánované prestoje. Technológia Oracle Solaris Zones umožňuje od seba efektívne a bezpečne izolovať rôzne inštancie servera Oracle WebLogic Server aj ďalšie komponenty Oracle Fusion Middleware do rôznych virtuálnych prostredí, a dosiahnuť tak optimálne využitie hardvéru. Jednotlivé zóny je možné bezpečne a efektívne presúvať aj medzi fyzickými servermi. &lt;/p&gt;  &lt;p&gt;Zhrnuté a podčiarknuté: Oracle Exalogic je riešenie typu „cloud v škatuli“ s integrovaným hardvérom a softvérom zorchestrovaným, nakonfigurovaným a optimalizovaným tak aby poskytovalo kompletnú platformu pre širokú škálu typov aplikácií pre extrémne náročnú výkonovú záťaž. Softvér z rodiny Oracle Fusion Middleware umožňuje dosiahnuť vysoký stupeň izolácie medzi paralelne prevádzkovanými aplikáciami pre dosiahnutie vysokej bezpečnosti a dostupnosti.&lt;/p&gt;  &lt;p&gt;Viac informácií na &lt;a href="http://www.oracle.com/us/products/middleware/exalogic/resources/index.html"&gt;http://www.oracle.com/us/products/middleware/exalogic/resources/index.html&lt;/a&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307191" width="1" height="1"&gt;</description></item><item><title>Distribúcia Metro aplikácií pre Windows 8 v podnikovom prostredí</title><link>http://blog.vyvojari.sk/dpe/archive/2012/04/26/distrib-250-cia-metro-aplik-225-ci-237-pre-windows-8-v-podnikovom-prostred-237.aspx</link><pubDate>Thu, 26 Apr 2012 10:44:33 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307188</guid><dc:creator>Blog pre slovenských vývojárov</dc:creator><slash:comments>0</slash:comments><description>Na blogu http://blogs.msdn.com/b/windowsstore/archive/2012/04/25/deploying-metro-style-apps-to-businesses.aspx boli zverejnen&amp;eacute; nov&amp;eacute; inform&amp;aacute;cie o možnostiach in&amp;scaron;tal&amp;aacute;cie Windows 8 Metro aplik&amp;aacute;ci&amp;iacute; v podnikovom prostred&amp;iacute;. Takže m&amp;aacute;me tieto možnosti: 1. Cez Windows Store ( po &amp;scaron;tandardnom procese certifik&amp;aacute;cie a testovania aplik&amp;aacute;cie vyžadovanom Windows Store ) ako pre bežn&amp;yacute;ch koncov&amp;yacute;ch použ&amp;iacute;vateľov. 2...(&lt;a href="http://blog.vyvojari.sk/dpe/archive/2012/04/26/distrib-250-cia-metro-aplik-225-ci-237-pre-windows-8-v-podnikovom-prostred-237.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307188" width="1" height="1"&gt;</description></item><item><title>Blogovanie na aspnet.sk pomocou Windows Live Writer II</title><link>http://blog.vyvojari.sk/julojenis/archive/2012/04/24/blogovanie-na-aspnet-sk-pomocou-windows-live-writer-ii.aspx</link><pubDate>Tue, 24 Apr 2012 21:33:10 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307187</guid><dc:creator>julo jenis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Dnes som sa pokúsil vytvoriť svoj prvý blog. Teda príspevok do blogu. A keďže som bol z toho celý roztrasený, tak som pri písaní stlačil dajaký ten Escape naviac a čo som napísal, to som napísal. Bolo to kdesi, kde som to už nenašiel. A vtedy som si spomenul, že mi Igor Stanek pekne radil, že mám použiť Windows Live Wrriter. Tak som si ho spustil a začalo sa ma to vypytovať veci, ktoré boli zo začiatku jasné, ale postupne sa to zmenilo na veci, s ktorými som si nevedel rady. Pomohol mi až opäť Igor, týmto mu ďakujem. No a pre tých, čo by im to mohlo pomôcť tiež, prikladám obrazovky, ako sa to celé má vyplňať.&lt;/p&gt;  &lt;p&gt;Prvý screen je jasný, treba vybrať “Ďaľšie služby”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_073F1D3E.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_447FD205.png" width="244" height="209" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Po tomto screene príde na rad ďaľší. V ňom sa zadávajú údaje, ktoré ste dostali, ak vám bol vyrobený blog. V mojom prípade to vyzeralo takto:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_037152A1.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_34245A4C.png" width="244" height="209" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;No a po tomto screene som narazil na otázky, ktoré ma zastavili. Bolo treba vyplniť nasledovné dve položky. Vyskúšal som veľa permutácií a kombinícií, možno aj variácií, ale ani jedna nebola správna. Pohladal som po webe a keď som nič nenašiel, apísal som Igorovi. Dostal som radu a tá mi pomohla. &lt;/p&gt;  &lt;p&gt;Uvedené nastavenia sú správne a funkčné.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_67EC509D.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_468CAB01.png" width="244" height="209" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Pozn: webovú adresu treba zadať v tvare : &lt;a href="http://blog.vyvojari.sk/blogs/metablog.ashx"&gt;http://blog.vyvojari.sk/blogs/metablog.ashx&lt;/a&gt;, teda bez mena, to si dohladá Writer sám podľa loginu.&lt;/p&gt;  &lt;p&gt;Po stlačení klávesu Ďalej to už išlo všetko ako po masle, bez problémov sa mi Writer skonfiguroval a tento príspevok je jeho prvým výtvorom. Teším sa na ďaľšiu spoluprácu s ním &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Úsmev" src="http://blog.vyvojari.sk/blogs/julojenis/wlEmoticon-smile_2C4C41DD.png" /&gt;&lt;/p&gt;  &lt;p&gt;julo&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307187" width="1" height="1"&gt;</description></item><item><title>Game State Management v XNA programoch</title><link>http://blog.vyvojari.sk/julojenis/archive/2012/04/24/game-state-management-v-xna-programoch.aspx</link><pubDate>Tue, 24 Apr 2012 08:08:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307185</guid><dc:creator>julo jenis</dc:creator><slash:comments>2</slash:comments><description>&lt;p align="justify"&gt;XNA Game Studio je označenie nástroja, ktorý je určený na tvorbu hier. Je to množina funkcií, ktoré v spolupráci s Visual Studiom vytvárajú prostredie vhodné na tvorbu hier. Verzia 1.0 bola verejnosti predstavená v roku 2005 a dnes je k dispozícii aktuálna verzia 4.0. Každá verzia obohatila svojho predchodcu o nové možnosti. Dnes sa pomocou XNA GS 4.0 dajú vytvárať hry pre platformu Windows, Xbox 360 a Windows Phone.&lt;/p&gt;  &lt;p align="justify"&gt;Pri písaní programov (hier) som narazil na rôzne problemiky, ale jeden z nich sa mi po čase začal javiť už nie ako problemik, ale ako problém. Ten problém súpočíval v tom, že som nevedel efektívne pracovať s viacerými obrazovkami. Napr.:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;chcel&amp;#160; som v programe chcel urobit pauzu a to som chcel na rozbehnutej hre vykreslit dalšiu obrazovku&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;riešenie rôznych levelov&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;info o skonšení hry&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;zobrazovanie helpov&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;…&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Tento problém som riešil systémom “skrabania sa ľavou rokou na pravom uchu”, niekedy s väčším, inokedy s menším úspechom, ale vždy to bolo spojené s neistotou a obavou, že či sa mi to vôbec podarí urobiť. No a keďže tento strach bol väčší ako je únosná miera, začal som hľadať na toto riešenie. Čiastočne som ho našiel v tom, že VS 2010 prinieslo šablonu projektu, ktorá spája výhody Silverlight a XNA dokopy, ale po niekoľkých pokusoch som si povedal, že by bolo vhodné ešte čosi, čo by bolo čisto XNA. A našiel som na APP HUBe ukážku aplikácie, ktorá sa presne zaoberal tým, čo som potreboval. Stiahol som si tento príklad &lt;a href="http://create.msdn.com/downloads/?id=827&amp;amp;filename=GSMSample_4_0_Mango_VB.zip"&gt;GameStateManagementSample&lt;/a&gt; a keď som si ho spustil, zistil som, že je to presne to, čo potrebujem. Príklad mi ukázal, že program dokáže:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;pracovať s viacerými typmi obrazoviek (nyzývam ich obrazovky hier, otázok a prerušení)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;je to postavené iba na filozofii XNA (týmto nechcme povedať ze kombinácia Silverlight a XNA je zlá, to vôbec nie, iba sa mi jednoducho nehodila táto kombinácia do mojej hry)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;všetko je to kdispozícii so zdrojovými kódmi a tak sa z toho dá veľa naučiť a preobiť si to podľa toho, ako sa komu páči.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;No a po tomto zistení som už iba začal skúmať, ako najjednoduchšie a najrýchlejšie vytvorím nový projekt, ktorý bude stáť na tejto filozofii. Tu je môj postup.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1.&amp;#160; Vytvorme si vo VS novy projekt. V mojom prípade som vyrábal projekt pre jazyk Visual Basic, XNA Game Studio, s názvom WPhG_HladanieMuzea_GSM. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_61FCD7B5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_05B5FF50.png" width="244" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Stihnime si súbor &lt;a href="http://create.msdn.com/downloads/?id=827&amp;amp;filename=GSMSample_4_0_Mango_VB.zip"&gt;GSMSample_4_0_Mango_VB.zip&lt;/a&gt; (popr &lt;a href="http://create.msdn.com/downloads/?id=811&amp;amp;filename=GSMSample_4_0_Mango.zip"&gt;GSMSample_4_0_Mango.zip&lt;/a&gt; ak chceme robiť v C#). Tento súbor rozbaľme do pomocného adresára (ja som ho rozbalilrovno na ploche…) . Po rozbalení dostaneme takúto štruktúru adresára.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_2C841590.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_0549CC5B.png" width="244" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. do nášho projektu WPhG_HladanieMuzea_GSM doplňme nasledovné súbory (klikneme pravým tlačidlom v Solution Exploreri na náš projekt –&amp;gt; Add –&amp;gt; Existing Item):&lt;/p&gt;  &lt;p&gt;- z adresára GameStateManagement tieto súbory:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_4513B2E0.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_64C28CA8.png" width="244" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- z adresára GameStateManagementSample tieto súbory:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_0B90A2E9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_4030FF24.png" width="244" height="130" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- pri vkladaní dostaneme otázku, na ktorú odpovedáme “Ano” (popr. “Yes” &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Úsmev" src="http://blog.vyvojari.sk/blogs/julojenis/wlEmoticon-smile_24204039.png" /&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_6B096336.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_11D77977.png" width="244" height="81" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- do&amp;#160; nášho projektu vložíme nový Folder s názvom &lt;strong&gt;Screens. &lt;/strong&gt;Do tohoto adresára vložíme z adresára GameStateManagementSample\Screens tieto obrazovky:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_1FA9BF72.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_2A6716C7.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(kľudne tam môžeme vložiť aj všetky obrazovky, tieto sú ale nutné na spustenie iba Windows Phone aplikácie)&lt;/p&gt;  &lt;p&gt;- z adresára&amp;#160; GameStateManagementSample\Content doplňme tieto súbory (teraz berieme všetky):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_2347DA4F.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_57E8368A.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;4. otvorme si súbor ScreenFactory.vb. Vymažme riadok Imports GameStateManagement. V riadku &lt;/p&gt;  &lt;p&gt;Public Function CreateScreen(ByVal screenType As Type) As GameScreen Implements GameStateManagement.IScreenFactory.CreateScreen&lt;/p&gt;  &lt;p&gt;vymažme GameStateManagement.&lt;/p&gt;  &lt;p&gt;Pôvodný stav :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_69C4CA57.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_772ADD5D.png" width="244" height="127" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Po úprave :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_1DF8F39E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_4F846133.png" width="244" height="127" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. Vymažme súbor Game1.vb&lt;/p&gt;  &lt;p&gt;6. Otvorme si súbor Game.vb a vymažme z neho riadok Imports GameStateManagement&lt;/p&gt;  &lt;p&gt;7. Do projektu doplňme nasledovné referencie:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/julojenis/image_76527773.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blog.vyvojari.sk/blogs/julojenis/image_thumb_67A7CB8E.png" width="244" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;8. Stlačme F5 a mal by sa nám spustiť projekt, založený na myšlienke GameStateManagement. O tom, čo sa všetko v ňom nachádza a čo je potrebné k tomu, aby sme tento typ projektu “ohli na svoj obraz”, o tom až v inom blogu. Je asi možné uvedený postup robiť aj inak (napr. vložením noveho projektu do našeho novo vytváraného, ale pri mojich pokusoch mi to vždy akosi nefungovalo dobre. Asi som čosi zle urobil…) Tento postup, ktorý som práve opísal som otestoval na viacerých hrách, vždy mi zafungoval a tak som sa oň chcel podeliť. O tom, čo som pomocou neho povytváral, dakedy nabudúce. (bude to asi uážka hry zameranej na výuku testovania štatistických hypotéz.)&lt;/p&gt;  &lt;p&gt;julo &lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307185" width="1" height="1"&gt;</description></item><item><title>Metro aplikácia – ukladanie údajov</title><link>http://blog.vyvojari.sk/lubolacko/archive/2012/04/17/metro-aplik-225-cia-ukladanie-250-dajov.aspx</link><pubDate>Tue, 17 Apr 2012 10:53:10 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307183</guid><dc:creator>lubolacko</dc:creator><slash:comments>0</slash:comments><description>&lt;h1&gt;Metro aplikácia – ukladanie údajov&lt;/h1&gt;  &lt;p&gt;Na blog &lt;a href="http://novywindows.wordpress.com/"&gt;http://novywindows.wordpress.com/&lt;/a&gt; som dal prvú časť príspevku o tom aké majú METRO aplikácie možnosti ukladana údajov. Mohol by mi to niekto&amp;#160; zoponovať prípadne doplniť&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307183" width="1" height="1"&gt;</description></item><item><title>Seriál o vývoji METRO aplikácií pre Windows 8</title><link>http://blog.vyvojari.sk/lubolacko/archive/2012/04/17/seri-225-l-o-v-253-voji-metro-aplik-225-ci-237-pre-windows-8.aspx</link><pubDate>Tue, 17 Apr 2012 06:03:19 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307182</guid><dc:creator>lubolacko</dc:creator><slash:comments>0</slash:comments><description>&lt;h1&gt;Seriál o vývoji METRO aplikácií pre Windows 8&lt;/h1&gt;  &lt;p&gt;Na blog &lt;a href="http://novywindows.wordpress.com/"&gt;http://novywindows.wordpress.com/&lt;/a&gt; som dal prvé tri diely seriálu, ktorý sa bude postupne venovať aspektom vývoja METRO aplikácií pre Windows 8.&lt;/p&gt;  &lt;p&gt;1. diel: Nástroje a projekty &lt;a title="http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-1-diel-nastroje-a-projekty/" href="http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-1-diel-nastroje-a-projekty/"&gt;http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-1-diel-nastroje-a-projekty/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2.diel: Základné princípy dizajnu a ladenie na simulátore &lt;a title="http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-2-diel-ladenie-na-simulatore/" href="http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-2-diel-ladenie-na-simulatore/"&gt;http://novywindows.wordpress.com/2012/04/16/vyvoj-metro-aplikacii-pre-windows-8-2-diel-ladenie-na-simulatore/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. diel: Životný cyklus Metro aplikácií &lt;a title="http://novywindows.wordpress.com/2012/04/17/vyvoj-metro-aplikacii-pre-windows-8-3-diel-zivotny-cyklus/" href="http://novywindows.wordpress.com/2012/04/17/vyvoj-metro-aplikacii-pre-windows-8-3-diel-zivotny-cyklus/"&gt;http://novywindows.wordpress.com/2012/04/17/vyvoj-metro-aplikacii-pre-windows-8-3-diel-zivotny-cyklus/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nakoľko životný cyklus a obnovy z jednotlivých stavov si vyžadujú ukladať údaje, hlavne stavové, precujem na štrvrtom dieli s pracovným názvom: Možnosti ukladania údajov &lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307182" width="1" height="1"&gt;</description></item><item><title>Posledná časť TechDays 2012 v Bratislave už túto stredu</title><link>http://blog.vyvojari.sk/spigi/archive/2012/04/16/posledna-cast-techdays-2012-v-bratislave-uz-tuto-stredu.aspx</link><pubDate>Mon, 16 Apr 2012 20:04:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307181</guid><dc:creator>spigi</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;V stredu 18.04.2012 vás všetkých pozývam na záverečnú časť našej šnúry TechDays&amp;nbsp;2012 - &lt;a href="http://www.techdays.sk"&gt;www.techdays.sk&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Na všetkých doterajších TechDays som hovoril o vývoji Windows 8 aplikácií a Windows Phone 7 aplikácií a poobede som so Slavom Furmanom viedol kemp, kde sme 4,5 hodiny (neoficiálne sme vždy hovorili aspoň 5,5-6 hodín :-)) o vývoji Windows 8 Metro aplikácií. Veľmi do podrobna sme si prebrali Metro UX, WinRT, Kontrakty, Senzory, Životný cyklus, Windows Store a ďalšie a ďalšie témy.&lt;/p&gt;&lt;p&gt;Na posledných TechDays v Bratislave je trošku iné rozloženie spíkrov a tentokrát budem poobede hovoriť na kempe o vývoji Windows Phone 7 (7.5) aplikácií spolu s Igorom Šmerdom z Nokie... Všetkých vás pozývam, budete si môcť okrem nasypania vedomostí do hláv ošahať aj nejakú tú Nokiu Lumia :-) a čo to sa dozvedieť o budúcnosti tejto platformy aj zo strany Nokie.&lt;/p&gt;&lt;p&gt;Mimochodom, na webe &lt;a href="http://www.techdays.sk"&gt;www.techdays.sk&lt;/a&gt; sa už objavili aj fotografie z akcií, ktoré máme za sebou...&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307181" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Nokia/default.aspx">Nokia</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/TechDays+2012/default.aspx">TechDays 2012</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category></item><item><title>Windows 8 Metro App (Enterprise) bez Windows Store?</title><link>http://blog.vyvojari.sk/spigi/archive/2012/04/16/windows-8-metro-app-enterprise-bez-windows-store.aspx</link><pubDate>Mon, 16 Apr 2012 07:52:10 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307180</guid><dc:creator>spigi</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;S príchodom Windows 8 a najmä novými aplikáciami typu Metro sa objavujú otázky ako nainštalujem aplikáciu (hlavne vo firemnom prostredí) bez toho, aby bola vypublikovaná do Windows Store, o ktorej sa hovorí, že je to jediná cesta ako dostať Metro aplikáciu do Windows 8.&lt;/p&gt;  &lt;p&gt;Už skôr sa hovorilo o tom, že bude možné Metro aplikácie distribuovať cez Active Directory, avšak informácií je stále málo. &lt;/p&gt;  &lt;p&gt;Na Technete sa však objavila informácia, ako to bude realizované. Vo firemnom prostredí je to jednoduché a celkom logické:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Aplikácia nemusí byť podpísaná Windows Store a ani do neho publikovaná &lt;/li&gt;    &lt;li&gt;Aplikácia musí byť kryptograficky podpísaná a cieľový počítač musí dôverovať tomuto certifikátu (to je možné celkom jednoducho dosiahnuť) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Windows 8 musí byť súčasťou Active Directory domény &lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#000000"&gt;Group Policy musí byť nastavené tak, aby povoľoval inštaláciu Metro LOB aplikácií&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h1&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;strong&gt;Nastavenie Group Policy pre sideloading&lt;/strong&gt;&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Open the Group Policy editor. For example, on a computer that is running Windows 8, click &lt;strong&gt;Search&lt;/strong&gt;, click &lt;strong&gt;Settings&lt;/strong&gt;, type &lt;strong&gt;Edit Group Policy&lt;/strong&gt;, and then select the &lt;strong&gt;Edit Group Policy&lt;/strong&gt; setting.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Click &lt;strong&gt;Computer Configuration&lt;/strong&gt;, click &lt;strong&gt;Administrative Templates&lt;/strong&gt;, click &lt;strong&gt;System&lt;/strong&gt;, and then double-click the &lt;strong&gt;Allow all trusted applications to install&lt;/strong&gt; setting.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;alebo jednoducho:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;&lt;strong&gt;Inštalácia aplikácií per-user&lt;/strong&gt;&lt;/h4&gt;  &lt;ol&gt;   &lt;li&gt;At the Windows PowerShell prompt on a Windows 8 or Windows Server 8 computer, type:      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;import-module appx            &lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Add a .appx file package. For example, type:      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;add-appxpackage C:\app1.appx&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Bližšie info: &lt;a title="http://technet.microsoft.com/en-us/library/hh852635.aspx" href="http://technet.microsoft.com/en-us/library/hh852635.aspx"&gt;http://technet.microsoft.com/en-us/library/hh852635.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Samozrejme bude možné pridať takto aplikácie aj do Windows 8, ktorá nie je v doméne, ale aplikácie nebudú funkčné, pokiaľ sa nesplnia všetky podmienky na svoj beh, to znamená, Windows sa musí pripojiť do domény.&lt;/p&gt;  &lt;p&gt;Vďaka &lt;a href="http://www.vyvojari.sk/users/slavof.aspx"&gt;@slavof&lt;/a&gt; za tip :-).&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307180" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Metro/default.aspx">Metro</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+Store/default.aspx">Windows Store</category></item><item><title>Javascript help methods - Part 1</title><link>http://blog.vyvojari.sk/xxxmatko/archive/2012/04/12/javascript-help-methods-part-1.aspx</link><pubDate>Thu, 12 Apr 2012 09:12:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307179</guid><dc:creator>xxxmatko</dc:creator><slash:comments>0</slash:comments><description>		&lt;p&gt;
			Z času na čas, počas takého kľudného programovania, sa môže objaviť nejaký malý problém, ktorý treba vyriešiť. 
			Ak je riešenie opakovateľne aplikovateľné a využiteľné aj pri iných podobných situáciách, u mňa realizácia skončí implementáciou tzv. &lt;i&gt;helper&lt;/i&gt; metódy.
			Na tomto mieste by som sa chcel podeliť o moje riešenia týkajúce sa &lt;b&gt;javascriptu&lt;/b&gt;. Možno niekomu pomôžu a uľahčia mu prácu, prípadne prostredníctvom
			konštruktívnych pripomienok budem môcť aj ja sám vylepšiť existujúce riešenia.
		&lt;/p&gt;
		
		&lt;h2&gt;Vyvolanie udalosti na html elemente&lt;/h2&gt;
		&lt;p&gt;
			V ostatnom čase sa dosť intenzívne venujem &lt;b&gt;javascript&lt;/b&gt;-ovému framework-u &lt;b&gt;dojo&lt;/b&gt;. V aplikácii, v ktorej sa v značnej miere využíva widget 
			&lt;a href="http://livedocs.dojotoolkit.org/dijit/Tooltip" target="_blank"&gt;dijit.Tooltip&lt;/a&gt; sa tento prestal skrývať po odídení
			kurzora myšky z daného html prvku, ak na tento prvok bolo predtým kliknuté. Prvok si stále držal focus a &lt;b&gt;tooltip&lt;/b&gt; ostával zobrazený. 
			Po pátraní po internete som zistil, že nie som jediný, kto má problém so správnym skrývaním, respektíve zobrazovaním, &lt;b&gt;tooltipu&lt;/b&gt;. Skúsil som rôzne
			navrhované riešenia, ktoré do istej miery znásilňovali daný widget, ale žiadne z nich nezabralo v mojom prípade. Po preskúmaní správania sa widgetu a html prvkov
			na ktoré bol aplikovaný, som prišiel na riešenie, ktoré zafungovalo. Bolo potrebné &lt;i&gt;&amp;quot;násilne&amp;quot;&lt;/i&gt; vyvolať udalosť &lt;i&gt;&amp;quot;blur&amp;quot;&lt;/i&gt; nad html elementom, pre ktorý
			bol &lt;b&gt;tooltip&lt;/b&gt; vytvorený. A tu je finálna implementácia &lt;code&gt;fireEvent&lt;/code&gt; metódy:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;fireEvent(element,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;string&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;TypeError(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Input&amp;nbsp;event&amp;nbsp;name&amp;nbsp;must&amp;nbsp;of&amp;nbsp;type&amp;nbsp;string.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;((&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(element)&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;===&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;undefined&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;||&amp;nbsp;(element&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;))&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Error(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Element&amp;nbsp;can&amp;nbsp;not&amp;nbsp;be&amp;nbsp;null.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;IE&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;document&lt;/font&gt;&lt;font color="black"&gt;.createEventObject)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;document&lt;/font&gt;&lt;font color="black"&gt;.createEventObject()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;element.fireEvent(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;on&amp;quot;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;evt)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ostatne&amp;nbsp;prehliadace&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;document&lt;/font&gt;&lt;font color="black"&gt;.createEvent(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;HTMLEvents&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Inicializacia&amp;nbsp;eventu&amp;nbsp;(Event&amp;nbsp;type,&amp;nbsp;bubbling,&amp;nbsp;cancelable)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;evt.initEvent(&lt;/font&gt;&lt;font color="blue"&gt;event&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;!element.dispatchEvent(evt)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Metóda pre vyvolanie udalosti nad html elementom
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		
		&lt;h2&gt;Distinct metóda pre polia&lt;/h2&gt;
		&lt;p&gt;
			Na inom mieste som potreboval získať zo vstupného poľa len distinct-né prvky, a už trocha zdeformovaný zo &lt;b&gt;C#&lt;/b&gt;-pu som hneď písal &lt;code&gt;pole.distinct()&lt;/code&gt;. Čuduj sa svete, error ;-).
			Tak som nakoniec rozšíril &lt;b&gt;Array&lt;/b&gt; objekt o metódu distinct takto:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(!&lt;/font&gt;&lt;font color="blue"&gt;Array&lt;/font&gt;&lt;font color="black"&gt;.prototype.distinct)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;Array&lt;/font&gt;&lt;font color="black"&gt;.prototype.distinct&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;distinctArray&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;[]&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&amp;lt;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;.length&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i++)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(distinctArray.indexOf(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;[i])&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;===&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;-&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distinctArray.push(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;[i])&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;distinctArray&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						})()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Distinct metóda pre Array objekt
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307179" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/dojo/default.aspx">dojo</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/HTML/default.aspx">HTML</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/widget/default.aspx">widget</category></item><item><title>No tests were run because all loaded or selected tests are disabled problem in VS 2010</title><link>http://blog.vyvojari.sk/rostacik/archive/2012/04/09/no-tests-were-run-because-all-loaded-or-selected-tests-are-disabled-problem-in-vs-2010.aspx</link><pubDate>Mon, 09 Apr 2012 14:53:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307178</guid><dc:creator>dudok</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ak sa niekedy stretnete s pod. problémom, možno pomôže :&lt;/p&gt;&lt;p&gt;&lt;a href="http://rostacik.net/2012/04/09/no-tests-were-run-because-all-loaded-or-selected-tests-are-disabled-problem-in-vs-2010/"&gt;http://rostacik.net/2012/04/09/no-tests-were-run-because-all-loaded-or-selected-tests-are-disabled-problem-in-vs-2010/ &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307178" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/microsoft/default.aspx">microsoft</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/problem/default.aspx">problem</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/vs+2010/default.aspx">vs 2010</category></item><item><title>Ukážka Nokia Lumia 900 a HTC Titan II</title><link>http://blog.vyvojari.sk/spigi/archive/2012/04/09/ukazka-nokia-lumia-900-a-htc-titan-ii.aspx</link><pubDate>Mon, 09 Apr 2012 13:30:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307177</guid><dc:creator>spigi</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Pozrite si ako vyzerajú nové mobilné telefóny od &lt;a href="http://www.nokia.com/cz-cs/produkty/telefony/lumia900/"&gt;Nokie&lt;/a&gt; a &lt;a href="http://www.htc.com/us/press/htc-announces-htc-titan-ii-mdash-htcs-first-lte-windows-phone/50"&gt;HTC&lt;/a&gt;… &lt;/p&gt;&lt;p&gt;
  
&lt;video poster="http://media.ch9.ms/ch9/8634/696a480e-0121-4488-ae46-7acde3ad8634/newphones_512.jpg" controls=""&gt;&lt;source type="video/mp4" src="http://media.ch9.ms/ch9/8634/696a480e-0121-4488-ae46-7acde3ad8634/newphones_mid.mp4"&gt;&lt;source type="video/webm" src="http://media.ch9.ms/ch9/8634/696a480e-0121-4488-ae46-7acde3ad8634/newphones.webm"&gt;&lt;/video&gt;&lt;/p&gt;&lt;p&gt;Zdroj: &lt;a href="http://channel9.msdn.com/Blogs/Windows-Phone-7/Check-out-the-new-Windows-Phones"&gt;http://channel9.msdn.com/Blogs/Windows-Phone-7/Check-out-the-new-Windows-Phones&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307177" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/spigi/archive/tags/HTC/default.aspx">HTC</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Nokia/default.aspx">Nokia</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category></item><item><title>TechDays 2012 sa blíži ku koncu…</title><link>http://blog.vyvojari.sk/spigi/archive/2012/03/31/techdays-2012-sa-bl-237-i-ku-koncu.aspx</link><pubDate>Sat, 31 Mar 2012 10:41:20 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307173</guid><dc:creator>spigi</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Máme za sebou 2 týždne turné po Slovensku s konferenciou TechDays 2012 – &lt;a href="http://www.techdays.sk"&gt;www.techdays.sk&lt;/a&gt;. Už nás čakajú len dve mestá – Žilina a druhé kolo Bratislavy.&lt;/p&gt;  &lt;p&gt;Som mimoriadne prekvapený účasťou na akciách, a tiež záujmom ľudí aj z mimo MS sveta… Záujmom najmä o Windows 8 – vyzerá to na úspech medzi vývojármi :-).&lt;/p&gt;  &lt;p&gt;Ja primárne hovorím o vývoji pre Windows 8 a Windows Phone 7…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/spigi/Feb12_TechDays-Banner-587x293px_67C44A30.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="Feb12_TechDays-Banner-587x293px" border="0" alt="Feb12_TechDays-Banner-587x293px" src="http://blog.vyvojari.sk/blogs/spigi/Feb12_TechDays-Banner-587x293px_thumb_6B62650D.png" width="587" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Týmto by som Vás chcel pozvať ešte na tieto ostávajúce akcie, príďte sa niečo nové dozvedieť a porozprávať :-) - registrujte sa na &lt;a href="http://www.techdays.sk"&gt;www.techdays.sk&lt;/a&gt;.&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307173" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Komunita/default.aspx">Komunita</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Konfererencie/default.aspx">Konfererencie</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+8/default.aspx">Windows 8</category><category domain="http://blog.vyvojari.sk/spigi/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category></item><item><title>Hľadáte pre svoj softvér najvýkonnejšie železo?</title><link>http://blog.vyvojari.sk/lubolacko/archive/2012/03/25/h-ad-225-te-pre-svoj-softv-233-r-najv-253-konnej-ie-elezo.aspx</link><pubDate>Sun, 25 Mar 2012 07:10:18 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307171</guid><dc:creator>lubolacko</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Pri uvedení nového databázového servera Oracle Exadata (pripomínam, že prvý krát v histórii spoločnosti Oracle sa jednalo o hardvér) na konferencii Oracle Open Word v San Franciscu v roku 2009 Larry Ellison, CEO spoločnosti Oracle nešetril chválami a to hlavne na jeho rýchlosť. Dokonca auditóriu pozostávajúcemu zo 40 000 IT špecialistov predostrel smelú výzvu: „Ponúkam 10 miliónov dolárov ak vaša databázová aplikácia nepobeží na serveri Exadata V2 minimálne dva krát rýchlejšie“. V rámci konkurenčného boja nezabudol dodať, že obzvlášť vítaní sú špecialisti od odvekého rivala – zo spoločnosti IBM.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clip_image002_734B5925.jpg"&gt;&lt;img title="clip_image002" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image002" src="http://blog.vyvojari.sk/blogs/lubolacko/clip_image002_thumb_26F8253F.jpg" width="244" height="192" /&gt;&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Samozrejme pri takýchto ponukách sú dôležité podmienky a obmedzenia napísané najdrobnejším písmom, no aj tak to bola smelá výzva.&lt;/p&gt;  &lt;p&gt;Ellison sa na obidvoch hlavných prednáškach nevyhol porovnaniu technológií Oracle a IBM. Podľa jeho tvrdenia 9 štandardných rackov Exadata V2 poskytuje rovnaký výkon v TPC-C benchmarkoch ako 76 najrýchlejších serverov IBM, pričom tieto spotrebujú 6x viac elektrickej energie, než servery Oracle, takže Larry žartom dodal, že už chápe prečo má nová generácia procesorov IBM označenie „Power“...&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clip_image004_62703652.jpg"&gt;&lt;img title="clip_image004" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image004" src="http://blog.vyvojari.sk/blogs/lubolacko/clip_image004_thumb_7FEC087B.jpg" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Čo oprávňuje Ellisona, aby si bol taký istý výkonom nového produktu Oracle? Špecializovaný server Exadata V2 je optimalizovaný pre transakčné systémy a dátové sklady. Podľa Ellisona je &lt;a name="OLE_LINK2"&gt;&lt;/a&gt;&lt;a name="OLE_LINK1"&gt;to &lt;/a&gt;najrýchlejší databázový server na svete, pričom svojim výkonom dvojnásobne prekonáva svojho predchodcu Exadata V1 a štvornásobne porovnateľné servery IBM. Vysoký výkon je dosiahnutý jednak špecializovanou architektúrou prispôsobenou požiadavkám databázového servera Oracle, ale hlavne polovodičovým pamäťovým úložiskom a cache pamäťou. Je aj najrýchlejším serverom pre datové sklady a analýzy. Kombinácia inteligentného softvéru Sun Oracle Exadata Storage Server, vysokorýchlostnej DDR3 DRAM, Flash cache pamäte a sieťového prepojenia cez InfiniBand mu umožnujú dosahovať 10 až 50 x vyšší výkon než iné systémy. Svedčili o tom aj prvé referencie zákazníkov, ktorí ho testovali. „Dopyt, ktorého vykonanie predtým trvalo 24 hodín je teraz hotový za 30 minút...“, potvrdil Christian Maar, CIO spoločnosti Allegro. &lt;/p&gt;  &lt;p&gt;Jedným z pilierov na ktorých je vybudovaná rýchlosť je technológia Smart Flash Cache, ktorá umožňuje zákazníkom zvýšiť efektívnu veľkosť vyrovnávacej pamäte cache databázy Oracle, bez nutnosti rozširovania hlavnej pamäte do systému. Databázový server využíva pre svoju potrebu pomerne veľké množstvo pamäti. Čím viac pamäti má k dispozícii, tým môže fungovať rýchlejšie a efektívnejšie, nakoľko elektronické pamäťové média sú o niekoľko rádov rýchlejšie než magnetické diskové média. Pre záťaž generovanú transakciami sú bloky databázy ukladané do vyhradenej oblasti zdieľanej v hlavnom pamäťovom priestore. Táto oblasť sa označuje ako System Global Area (SGA). Obsahuje buffre pre údaje a informácie a parametre potrebné pre efektívny beh inštancie:&lt;/p&gt;  &lt;p&gt;· Buffer cache slúži pre prechodné uloženie údajov, na ktoré sa dotazuje, prípadne sa modifikujú. Zdieľajú ho spoločne všetci pripojení klienti. &lt;/p&gt;  &lt;p&gt;· Shared pool sa vzťahuje k vykonávanému kódu, ukladajú sa sem SQL výrazy a uložené procedúry pre rýchlejší prístup. Taktiež sa sem ukladajú informácie ohľadne účtov, používateľských privilégií a indexov.&lt;/p&gt;  &lt;p&gt;· Redo log buffer zvyšuje výkon pri ukladaní informácií slúžiacich pre prípadnú obnovu údajov. &lt;/p&gt;  &lt;p&gt;· Large pool prídavná oblasť pre bufrovanie vstupno výstupných operácií pracujúcich s väčším objemom údajov&lt;/p&gt;  &lt;p&gt;Technológia Smart Flash Cache umožňuje rozšíriť buffer cache v hlavnej pamäti do cache pamäti druhej úrovne, ktorá je vybudovaná ako Flash. Konkrétne sa jedná o technológie Sun Storage F5100 Flash Array a Sun Flash Akcelerátor F20.&lt;/p&gt;  &lt;p&gt;Medzi hlavné výhody karty &lt;b&gt;Sun Flash Akcelerátor F20&lt;/b&gt; patrí &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Nízka latencia&lt;/b&gt;. Flash technológia posúva I / O operácie na úroveň rádovo mikrosekund. Ak sa umiestni medzi rýchlu operačnú pamäť DRAM a pevné disky HDD umožní dosiahnuť nízku latenciu celej architektúry. Flash technológie neobsahujú žiadne pohyblivé časti, ktoré nielen spôsobujú vysokú latnciu, ale prispievajú aj k menšej spoľahlivosti. Karta Flash Accelerator F20 môže dosahovať až 100 K IOPS pre operácie čítania, v porovnaní s iba stovkami IOPS u HDD.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Vysoká spoľahlivosť&lt;/b&gt;. Inžinieri Sunu (teraz po akvizícii Oracle) úzko spolupracoval s výrobcami NAND na konkrétnych vylepšeniach spoľahlivosti flash zariadení. Tieto kvalitné SLC NAND zariadenia určené pre podnikovú sféru vykazujú väčšiu odolnosť ako komerčne dostupné komponenty. Ich spoľahlivosť je na úrovni viac ako 2 milióny hodín MTBF (stredná doba medzi poruchami), čo je viac ako u väčšiny diskov. Každý modul Flash obsahuje navyše 8 GB (alebo 25 percent) vyhradenej vnútornej pamäte, ktorý je používaný pre náhradu prípadných opotrebovaných blokov. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Jednoduchosť&lt;/b&gt;. Sun Flash Accelerator F20 PCIe karta sa prezentuje voči serveru ako HBA, fyzicky ako štyri samostatné 24 GB disky. OS príkazy, ktoré spravujú disky sa vzťahujú aj na DOM moduly, takže nie sú potrebné žiadne špeciálne ovládače&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Ekológia&lt;/b&gt;. Polovodičové moduly majú nízky príkon (cca 2 watty pre každý 24 GB modul), čo je obzvlášť nízka hodnota v porovnaní s diskovými zariadeniami kde je spotreba, typicky okolo 12 wattov na každý modul.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clip_image005_452C11B8.gif"&gt;&lt;img title="clip_image005" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image005" src="http://blog.vyvojari.sk/blogs/lubolacko/clip_image005_thumb_123E505B.gif" width="240" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sun Flash Akcelerátor F20&lt;/p&gt;  &lt;p&gt;Zatiaľ, čo výkon mechanických diskových polí sa za posledné roky nijako signifikantne nezvýšil (hovoríme o výkone, nie o kapacite) situácia v oblasti storafe sa dramaticky zmenila vďaka úložným zariadeniam na báze Flash. Pre porovnanie čas odozvy disku je 4 milisekundy, naproti tomu zariadenia na báze Flash sú o jeden rád rýchlejšie s dobou odozvy na čítanie 0,4 milisekundy&lt;/p&gt;  &lt;p&gt;Klasická Oracle Database Smart Flash Cache funguje ako „victim“ cache, čo znamená, že ukladá surové bloky, ktoré boli premiestnené z hlavnej pamäti z oblasti SGA, čím sa v tejto oblasti vytvorí priestor pre ďalšie bloky.&lt;/p&gt;  &lt;p&gt;Naproti tomu Exadata V2 Smart Flash Cache funguje úplne inak – na princípe zápisu cez vyrovnávaciu pamäť, ktorá poskytuje dáta do vyrovnávacej pamäte Flash pre čítanie a zápis diskových operácií, zatiaľ čo Smart Flash Cache slúži iba na čítanie vyrovnávacej pamäte&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.vyvojari.sk/blogs/lubolacko/clip_image007_5F6E49E6.jpg"&gt;&lt;img title="clip_image007" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image007" src="http://blog.vyvojari.sk/blogs/lubolacko/clip_image007_thumb_15DEFBE9.jpg" width="244" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307171" width="1" height="1"&gt;</description></item><item><title>Synchronized Cache Provider</title><link>http://blog.vyvojari.sk/xxxmatko/archive/2012/03/13/synchronized-cache-provider.aspx</link><pubDate>Tue, 13 Mar 2012 11:12:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307143</guid><dc:creator>xxxmatko</dc:creator><slash:comments>26</slash:comments><description>		&lt;p&gt;
			Klasický obraz. Naša aplikácia často načítava rovnaké sady údajov z databázy, čo má za následok pomalšie reakcie aplikácie a zvýšenú záťaž na databázovy server.
			Prečo neuložíme načítané údaje z databázy do &lt;b&gt;Cache&lt;/b&gt; a potom nech sa už načítavajú odtiaľ. To aplikáciu zrýchli a navyše odľahčí databázu.
			Ak príde potom request každú sekendu, tak za minútu ušetríme 59 ďalších dopytov do databázy. Znie to pekne, no nie na darmo sa aj 
			&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc500561.aspx#S7" target="_blank"&gt;tu&lt;/a&gt; píše: &lt;i&gt;&amp;quot;Caching does add complexity, ... make sure you&amp;#39;re really going to benefit from the complexity&amp;quot;&lt;/i&gt;.
		&lt;/p&gt;
		&lt;p&gt;
			Nech teda príde request každú jednu sekendu. Pri spracovaní requestu sa pozrieme, či už sú údaje uložené v Cache, ak nie tak ich načítame a uložime do Cache.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;a class="" title="nacitanie-dat-z-databazy-a-ulozenie-do-cache" name="nacitanie-dat-z-databazy-a-ulozenie-do-cache"&gt;&lt;/a&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;Cache&lt;/span&gt;.Read&amp;lt;&lt;span class="class"&gt;SomeData&lt;/span&gt;&amp;gt;(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;someKey&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;key&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;SomeData&lt;/span&gt;&amp;nbsp;result&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;SelectFromDb()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;Cache&lt;/span&gt;.Write(key,&amp;nbsp;result,&amp;nbsp;&lt;span class="class"&gt;DateTime&lt;/span&gt;.UtcNow.AddSeconds(&lt;/font&gt;&lt;font color="maroon"&gt;60&lt;/font&gt;&lt;font color="black"&gt;))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;					
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Načítanie dát z databázy a uloženie do Cache (&lt;a href="http://petersirka.sk/development/csharp-2-funkcie-na-ktore-somskutocne-pysny/" target="_blank"&gt;vďaka za inšpiráciu&lt;/a&gt;)
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;p&gt;
			Ak však načítanie dát z databázy bude trvať dlhšie ako jednu sekundu, napríklad rovných desať sekúnd, tak potom prvý request nestihne prijať výsledok z databázy a zapísať ho do &lt;b&gt;Cache&lt;/b&gt; pred príchodom ďalšieho requestu, atď.
			Ak zoberieme do úvahy ešte nejaký ten čas potrebný na spracovanie requestu, tak až dvanásty request v poradí načíta údaje z &lt;b&gt;Cache&lt;/b&gt;. Čiže namiesto 59 requestov do databázy ušetríme v skutočnosti &amp;quot;len&amp;quot;
			49 a prvých 11 requestov bude stále trvať minimálne 10 sekúnd. Je to lepšie ako v prvom prípade, ale aj toto sa dá stále zlepšiť.
		&lt;/p&gt;
		&lt;p&gt;
			Ak synchronizujeme prístup ku &lt;b&gt;Cache&lt;/b&gt;, docielime, že prvý request uzamkne prístup, načíta dáta z databázy a uvoľní zámok, následne ďalšie requesty už nebudú načítavať dáta z databázy ale priamo z 
			&lt;b&gt;Cache&lt;/b&gt;, čím sa ušetrí ďalší čas, potrebný pre spracovanie daného requestu. Dĺžka spracovania prvého requestu bude cca 10 sekúnd. Druhý príde o sekundu neskôr a bude čakať, pokiaľ prvý request neuvoľní
			zámku, čo nastane o 9 sekúnd, tretí bude čakať už len 8 sekúnd atď.
		&lt;/p&gt;
		&lt;p&gt;
			Aj tento spôsob má však svoje trhliny. Nech prídu naraz dva requesty. Prvý bude chcieť načítať dáta pre kľúč &lt;i&gt;&amp;quot;someKey&amp;quot;&lt;/i&gt; a druhý pre kľúč &lt;i&gt;&amp;quot;someOtherKey&amp;quot;&lt;/i&gt;.
			Pre žiaden z týchto kľúčov sa zatiaľ nenachádza hodnota uložená v &lt;b&gt;Cache&lt;/b&gt;, takže oba requesty ju budú chcieť načítať z databázy. Načítanie pre prvý kľúč nech trvá realtívne dlhý čas (napr. 10 sekúnd) a
			pre druhý relatívne krátky čas (napr. 1 sekundu). Ak prístup ku &lt;b&gt;Cache&lt;/b&gt; uzamkne ako prvý request pre kľúč &lt;i&gt;&amp;quot;someKey&amp;quot;&lt;/i&gt;, tak druhý request bude musieť zbytočne čakať na zámke celý čas potrebný pre načítanie
			dát z databázy pre prvý request.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;a class="" title="cache-manager-pre-synchronizovany-pristup-ku-cache" name="cache-manager-pre-synchronizovany-pristup-ku-cache"&gt;&lt;/a&gt;
					&lt;div class="code"&gt;
						&lt;font color="darkgreen"&gt;//&amp;nbsp;Cache&amp;nbsp;Manager&amp;nbsp;class&amp;nbsp;which&amp;nbsp;uses&amp;nbsp;configured&amp;nbsp;Cache&amp;nbsp;Provider&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;class&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Cache&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;#region&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;[&amp;nbsp;Variables&amp;nbsp;]&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&amp;nbsp;static&amp;nbsp;readonly&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReaderWriterLockSlim&amp;nbsp;&lt;/span&gt;;_cacheLock&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;readonly&amp;nbsp;object&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_lock&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_initialized&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_initializedDefaultProvider&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;Exception&lt;/span&gt;&amp;nbsp;_initializeException&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;&amp;nbsp;_duration&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;CacheProviderCollection&lt;/span&gt;&amp;nbsp;_providers&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;CacheProvider&lt;/span&gt;&amp;nbsp;_provider&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#endregion&lt;br /&gt;
						&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;[&amp;nbsp;Constructors&amp;nbsp;]&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Cache()&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_lock&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;object&lt;/font&gt;&lt;font color="black"&gt;()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_cacheLock&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;LocksHelper&lt;/span&gt;.GetLockInstance(&lt;span class="class"&gt;LockRecursionPolicy&lt;/span&gt;.NoRecursion)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_initialized&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;false;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_initializedDefaultProvider&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;false;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_initializeException&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_duration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;(&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;20&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;#endregion&lt;br /&gt;
						&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;[&amp;nbsp;Properties&amp;nbsp;]&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;CacheProviderCollection&lt;/span&gt;&amp;nbsp;Providers&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initialize()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_providers&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;CacheProvider&lt;/span&gt;&amp;nbsp;Provider&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Initialize()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(_provider&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;InvalidOperationException&lt;/span&gt;(&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Defined&amp;nbsp;cache&amp;nbsp;provider&amp;nbsp;was&amp;nbsp;not&amp;nbsp;found.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_provider&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Count&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadOnlyLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Count&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ICollection&lt;/span&gt;&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&amp;nbsp;Keys&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadOnlyLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Keys&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;#endregion&lt;br /&gt;
						&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;[&amp;nbsp;Private&amp;nbsp;Methods&amp;nbsp;]&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Initializes&amp;nbsp;cache&amp;nbsp;manager.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&amp;nbsp;static&amp;nbsp;void&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Initialize()&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;...&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Initializes&amp;nbsp;cache&amp;nbsp;according&amp;nbsp;to&amp;nbsp;the&amp;nbsp;input&amp;nbsp;cache&amp;nbsp;config.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;InitializeSettings(&lt;span class="class"&gt;CacheConfigSection&lt;/span&gt;&amp;nbsp;config)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;...&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Initializes&amp;nbsp;default&amp;nbsp;cache&amp;nbsp;provider&amp;nbsp;according&amp;nbsp;to&amp;nbsp;the&amp;nbsp;input&amp;nbsp;cache&amp;nbsp;config.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;InitializeDefaultProvider(&lt;span class="class"&gt;CacheConfigSection&lt;/span&gt;&amp;nbsp;config)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;...&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;#endregion&lt;br /&gt;
						&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;[&amp;nbsp;Public&amp;nbsp;Methods&amp;nbsp;]&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Clears&amp;nbsp;the&amp;nbsp;cache.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Clear()&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;WriteLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provider.Clear()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Checks&amp;nbsp;whether&amp;nbsp;the&amp;nbsp;cache&amp;nbsp;contains&amp;nbsp;an&amp;nbsp;item&amp;nbsp;with&amp;nbsp;the&amp;nbsp;spsecified&amp;nbsp;key.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;ContainsKey(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadOnlyLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Contains(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Removes&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;item&amp;nbsp;from&amp;nbsp;the&amp;nbsp;application&amp;#39;s&amp;nbsp;Cache&amp;nbsp;object.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;object&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Remove(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(Provider.Contains(key))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;WriteLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Remove(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;null;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Removes&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;item&amp;nbsp;from&amp;nbsp;the&amp;nbsp;application&amp;#39;s&amp;nbsp;Cache&amp;nbsp;object.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;T&amp;nbsp;Remove&amp;lt;T&amp;gt;(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(T)Remove(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Retrieves&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;item&amp;nbsp;from&amp;nbsp;the&amp;nbsp;Cache&amp;nbsp;object.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;object&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Read(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadOnlyLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Read(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Retrieves&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;item&amp;nbsp;from&amp;nbsp;the&amp;nbsp;Cache&amp;nbsp;object&amp;nbsp;and&amp;nbsp;support&amp;nbsp;method&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;for&amp;nbsp;its&amp;nbsp;creation&amp;nbsp;if&amp;nbsp;it&amp;nbsp;is&amp;nbsp;not&amp;nbsp;presented&amp;nbsp;in&amp;nbsp;the&amp;nbsp;cache.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;T&amp;nbsp;Read&amp;lt;T&amp;gt;(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key,&amp;nbsp;Func&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;T&amp;gt;&amp;nbsp;onNull&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;ReadLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;object&amp;nbsp;value&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Provider.Read(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;((&lt;/font&gt;&lt;font color="blue"&gt;value&amp;nbsp;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(onNull&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;value&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;onNull(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;value&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;?&amp;nbsp;(T)&lt;/font&gt;&lt;font color="blue"&gt;value&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;default&lt;/font&gt;&lt;font color="black"&gt;(T)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Inserts&amp;nbsp;an&amp;nbsp;object&amp;nbsp;into&amp;nbsp;the&amp;nbsp;Cache&amp;nbsp;with&amp;nbsp;dependencies&amp;nbsp;and&amp;nbsp;expiration&amp;nbsp;policies.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;object&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Write(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;object&amp;nbsp;value&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;DateTime&lt;/span&gt;?&amp;nbsp;absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;?&amp;nbsp;slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;WriteLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(Provider.Contains(key))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provider.Remove(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;DateTime&lt;/span&gt;.UtcNow.AddMinutes(&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_duration.TotalMinutes)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;.Zero&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provider.Write(key,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;absoluteExpiration.Value,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slidingExpiration.Value)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;value;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Inserts&amp;nbsp;an&amp;nbsp;object&amp;nbsp;into&amp;nbsp;the&amp;nbsp;Cache&amp;nbsp;with&amp;nbsp;dependencies&amp;nbsp;and&amp;nbsp;expiration&amp;nbsp;policies.&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;T&amp;nbsp;Write&amp;lt;T&amp;gt;(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;key,&amp;nbsp;T&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;DateTime&lt;/span&gt;?&amp;nbsp;absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;?&amp;nbsp;slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;WriteLock&lt;/span&gt;(_cacheLock))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(Provider.Contains(key))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provider.Remove(key)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;absoluteExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;DateTime&lt;/span&gt;.UtcNow.AddMinutes(&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_duration.TotalMinutes)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slidingExpiration&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;TimeSpan&lt;/span&gt;.Zero&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Provider.Write(key,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;absoluteExpiration.Value,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slidingExpiration.Value)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(T)&lt;/font&gt;&lt;font color="blue"&gt;value;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;#endregion&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Cache Manager pre synchronizovaný prístup ku Cache
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;	
		&lt;p&gt;
			Ak nechceme, aby spomínaný druhý request musel zbytočne čakať na zámke celý čas potrebný pre načítanie dát z databázy pre prvý request, môžeme na základe implementácie 
			&lt;a href="http://blog.aspnet.sk/controlpanel/blogs/posteditor.aspx?SelectedNavItem=NewPost#cache-manager-pre-synchronizovany-pristup-ku-cache"&gt;Cache manager-a&lt;/a&gt; upraviť načítavanie údajov tak, ako je to uvedené v druhom 
			&lt;a href="http://blog.aspnet.sk/controlpanel/blogs/posteditor.aspx?SelectedNavItem=NewPost#nacitanie-dat-z-databazy-a-ulozenie-do-cache-2"&gt;príklade&lt;/a&gt;. Tým sa však opäť dostávame k problému číslo jedna - viacero paralelných načítaní tých istých dát.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;a class="" title="nacitanie-dat-z-databazy-a-ulozenie-do-cache-2" name="nacitanie-dat-z-databazy-a-ulozenie-do-cache-2"&gt;&lt;/a&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;var&amp;nbsp;cacheVal&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;Cache&lt;/span&gt;.Read&amp;lt;&lt;span class="class"&gt;SomeData&lt;/span&gt;&amp;gt;(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;someKey&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						if&lt;/font&gt;&lt;font color="black"&gt;(cacheVal.Equals(&lt;span class="class"&gt;SomeData&lt;/span&gt;.Empty))&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cacheVal&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;SelectFromDb()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;Cache&lt;/span&gt;.Write(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;someKey&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;cacheVal,&amp;nbsp;&lt;span class="class"&gt;DateTime&lt;/span&gt;.UtcNow.AddSeconds(&lt;/font&gt;&lt;font color="maroon"&gt;60&lt;/font&gt;&lt;font color="black"&gt;))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;					
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Načítanie dát z databázy a uloženie do Cache 2
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;		
		&lt;p&gt;
			V uvedených &lt;a href="http://blog.aspnet.sk/controlpanel/blogs/posteditor.aspx?SelectedNavItem=NewPost#nacitanie-dat-z-databazy-a-ulozenie-do-cache"&gt;príkladoch&lt;/a&gt; sa pre načítanie údajov z &lt;b&gt;Cache&lt;/b&gt; využíva &lt;a href="http://blog.aspnet.sk/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=37&amp;amp;postid=307143#cache-manager-pre-synchronizovany-pristup-ku-cache"&gt;Cache manager&lt;/a&gt;
			implementovaný na základe &lt;a href="http://blog.joubin.ca/2008/10/provider-model-design-pattern.html" target="_blank"&gt;Provider model design pattern&lt;/a&gt;-u,
			čo umožňuje využiť na prácu s &lt;b&gt;Cache&lt;/b&gt; ľuboľného providera. Na synchronizáciu bola použitá trieda &lt;b&gt;ReaderWriterLockSlim&lt;/b&gt; spôsobom, ktorý je bližšie popísaný 
			&lt;a href="http://devplanet.com/blogs/brianr/archive/2008/09/29/thread-safe-dictionary-update.aspx" target="_blank"&gt;tu&lt;/a&gt;.
		&lt;/p&gt;
		&lt;p&gt;
			Myslím, že sa nedá jednoznačne povedať, že ak použijem &lt;b&gt;Cache&lt;/b&gt;, tak všetko bude zrazu zázračne rýchlo fungovať. A už vôbec nechcem tvrdiť, že najlepšie je použiť synchronizovanú &lt;b&gt;Cache&lt;/b&gt;, nakoľko
			tá prináša ešte väčšiu mieru komplexnosti. Najprv treba dobre zanalyzovať danú situáciu a zvážiť, aký spôsob použitia &lt;b&gt;Cache&lt;/b&gt;, a či vôbec, bude najvýhodnejší.
		&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307143" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/cache/default.aspx">cache</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/lock/default.aspx">lock</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/synchronization/default.aspx">synchronization</category></item><item><title>Ako dekódovať parametre WebResource.axd</title><link>http://blog.vyvojari.sk/xxxmatko/archive/2012/03/07/ako-dek-243-dova-parametre-webresource-axd.aspx</link><pubDate>Wed, 07 Mar 2012 09:25:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307139</guid><dc:creator>xxxmatko</dc:creator><slash:comments>3</slash:comments><description>		&lt;p&gt;
			Keď som naposledy pozeral logy z jednej webovej aplikácie, našiel som tam niekoľko zalogovaných výnimiek typu &lt;b&gt;System.Web.HttpException (0x80004005): This is an invalid webresource request&lt;/b&gt;, no a
			samozrejme url adresa mala tvar &amp;#39;http://localhost:52537/WebResource.axd?d=OnZ0ZKO8G-ShpiVSqxXhboYJFcDQ82xG0pBI7kczDAPkL0g3SuGYm0JoMUL8LF8trZ9NVkaa71WbfQraAN2i0CbvOUX8m4vHoP_haITnn8hPhs5H8SljR5k4llviy4QoLvzWvyDrnM7NJCsXC6W6oNGW26D73FFlOsdldHUEF8c1&amp;amp;t=634656035472024300&amp;#39;.
			Z toho som samozrejme na prvý pohľad nič úžasné nezistil. To ma viedlo k tomu, že by bolo lepšie, keby do logu išla aj url adresa pre webresource s dekódovanými url parametrami, pre ľahšiu identifikáciu requestu.
		&lt;/p&gt;
		&lt;p&gt;
			Pomocou dômyselných nástrojov nebolo ťažké zistiť, že na dešifrovanie parametrov &lt;b&gt;AssemblyResourceLoader&lt;/b&gt; využíva statickú metódú &lt;b&gt;DecryptString&lt;/b&gt; objektu &lt;b&gt;System.Web.UI.Page&lt;/b&gt;, ktorá interne využíva metódu 
			&lt;b&gt;MachineKeySection.EncryptOrDecryptData&lt;/b&gt;. Táto metóda je síce označená ako &lt;b&gt;internal&lt;/b&gt;, ale to predsa nie je problém, veď máme &lt;b&gt;Reflection&lt;/b&gt; ;-).
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;EncryptOrDecryptData(&lt;/font&gt;&lt;font color="blue"&gt;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encrypt,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;data,&amp;nbsp;&lt;/font&gt;
						&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;modifier,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;start,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;length)&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;MethodInfo&lt;/span&gt;&amp;nbsp;encryptOrDecryptStringMethod&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;var&amp;nbsp;machineKeySection&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;span class="class"&gt;MachineKeySection&lt;/span&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;var&amp;nbsp;paramTypes&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&lt;/font&gt;&lt;font color="black"&gt;[]&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;bool&lt;/font&gt;&lt;font color="black"&gt;),&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]),&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]),&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&lt;/font&gt;&lt;font color="black"&gt;),&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encryptOrDecryptStringMethod&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;machineKeySection.GetMethod(&lt;/font&gt;&lt;font style="font-size:10px;" color="#808080"&gt;&amp;quot;EncryptOrDecryptData&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;BindingFlags&lt;/span&gt;.Static&amp;nbsp;|&amp;nbsp;&lt;span class="class"&gt;BindingFlags&lt;/span&gt;.NonPublic,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;paramTypes,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[])encryptOrDecryptStringMethod.Invoke(&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;object&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;encrypt,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;modifier,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;length&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;					
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Implementovanie metódy pre šifrovanie a dešifrovanie dát s využítím Reflection
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;p&gt;
			Táto implementácia má však jeden háčik. Môže sa totiž stať, že nebude môžné získať handle na danú metódu pomocou &lt;b&gt;Reflection&lt;/b&gt; z rôznych dôvodov. Prístup kú šifrovacím metódam môžeme získať ale
			aj tým, že implementujeme taký kvázi &lt;b&gt;MembershipProvider&lt;/b&gt;, v rámci ktorého môžeme využiť metódy &lt;b&gt;EncryptPassword&lt;/b&gt; a &lt;b&gt;DecryptPassword&lt;/b&gt;, ktoré na šifrovanie a dešifrovanie používajú tiež 
			&lt;b&gt;MachineKey&lt;/b&gt; a teda ich môžeme použiť na dešifrovanie url parametrov bez nutnosti použitia &lt;b&gt;Reflection&lt;/b&gt;.
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;class&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="class"&gt;MembershipProvider&lt;/span&gt;&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;&amp;nbsp;_instance&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;EmptyMembership()&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;&amp;nbsp;Instance&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_instance&amp;nbsp;??&amp;nbsp;(_instance&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;())&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;DecryptData(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;data)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DecryptPassword(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;EncryptData(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;data)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;EncryptPassword(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						}&lt;/font&gt;		
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Prázdny MemberShipProvider (implementácia ostatných metód a vlastností je vynechaná)
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;		
		&lt;p&gt;
			Potom môžeme našu šifrovaciu metódu upraviť nasledovne:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;EncryptOrDecryptData(&lt;/font&gt;&lt;font color="blue"&gt;bool&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encrypt,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;data,&amp;nbsp;&lt;/font&gt;
						&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;modifier,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;start,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;length)&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;MethodInfo&lt;/span&gt;&amp;nbsp;encryptOrDecryptStringMethod&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;machineKeySection&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;span class="class"&gt;MachineKeySection&lt;/span&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;var&amp;nbsp;paramTypes&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&lt;/font&gt;&lt;font color="black"&gt;[]&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;bool&lt;/font&gt;&lt;font color="black"&gt;),&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]),&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]),&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&lt;/font&gt;&lt;font color="black"&gt;),&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;typeof&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encryptOrDecryptStringMethod&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;
						&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="black"&gt;machineKeySection.GetMethod(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;EncryptOrDecryptData&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;BindingFlags&lt;/span&gt;.Static&amp;nbsp;|&amp;nbsp;&lt;span class="class"&gt;BindingFlags&lt;/span&gt;.NonPublic,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;paramTypes,&amp;nbsp;&lt;/font&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;catch&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;span class="class"&gt;AmbiguousMatchException&lt;/span&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Reflection&amp;nbsp;is&amp;nbsp;not&amp;nbsp;allowed&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(encryptOrDecryptStringMethod&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;try&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[])encryptOrDecryptStringMethod.Invoke(&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;new&amp;nbsp;object&lt;/font&gt;&lt;font color="black"&gt;[]&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;encrypt,&amp;nbsp;data,&amp;nbsp;modifier,&amp;nbsp;start,&amp;nbsp;length&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;catch&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;span class="class"&gt;MethodAccessException&lt;/span&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encrypt&amp;nbsp;?&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.EncryptData(data)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.DecryptData(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;catch&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;span class="class"&gt;TargetInvocationException&lt;/span&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encrypt&amp;nbsp;?&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.EncryptData(data)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.DecryptData(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;encrypt&amp;nbsp;?&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.EncryptData(data)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;EmptyMembership&lt;/span&gt;.Instance.DecryptData(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;	
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Doplnená šifrovacia metóda
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;	
		&lt;p&gt;
			Už ostáva toto celé len pekne zaobaliť:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DecryptString(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;data,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Func&lt;/span&gt;&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;gt;&amp;nbsp;stringToByteArray&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Func&lt;/span&gt;&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[],&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&amp;nbsp;byteArrayToString&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;dataToDecrypt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(stringToByteArray&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;?&amp;nbsp;stringToByteArray(data)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Encoding&lt;/span&gt;.UTF8.GetBytes(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;decryptedData&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;EncryptOrDecryptData(&lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;dataToDecrypt,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;
						&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataToDecrypt.Length)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(byteArrayToString&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;?&amp;nbsp;byteArrayToString(decryptedData)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Encoding&lt;/span&gt;.UTF8.GetString(decryptedData)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;EncryptString(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;data,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Func&lt;/span&gt;&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;gt;&amp;nbsp;stringToByteArray&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Func&lt;/span&gt;&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[],&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&amp;nbsp;byteArrayToString&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;dataToEncrypt&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(stringToByteArray&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;?&amp;nbsp;stringToByteArray(data)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Encoding&lt;/span&gt;.UTF8.GetBytes(data)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;encryptedData&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;EncryptOrDecryptData(&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;
						&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataToEncrypt,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;dataToEncrypt.Length)&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(byteArrayToString&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&amp;nbsp;?&amp;nbsp;byteArrayToString(encryptedData)&amp;nbsp;:&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="class"&gt;Encoding&lt;/span&gt;.UTF8.GetString(encryptedData)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Implementácia metód pre šifrovanie a dešifrovanie
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;p&gt;
			Dekódovať zašifrovaný query string môžeme potom nasledovne:
		&lt;/p&gt;
		&lt;table style="width:100%;"&gt;
			&lt;tr&gt;
				&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dQuery&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;@&amp;quot;1xskcOcQ5gDA9hwnmk1rYdW_bAWTiJFuj5Lw-Gfggz3AouwcBQyngWNkhtnlv6sDDogR6JWmjyuz5FxMjLzPzIQyRa34X1ChGd7bvzGwhOk3f_67WdDrVmpS87AY1ZuYVYpQk8-Z7b8pEGKZrWg-ucm0aFOdbb5hdb7hD15Hh5s1&amp;quot;&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;decrypted&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DecryptString(dQuery,&amp;nbsp;&lt;span class="class"&gt;HttpServerUtility&lt;/span&gt;.UrlTokenDecode)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Použitie dešifrovacej metódy na dešifrovanie query stringu WebResource.axd
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;	
		&lt;p&gt;
			PS: Uvítam každý návrh na vylepšenie.
		&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307139" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Ako disable-ovať Save button na Lightswitch screene</title><link>http://blog.vyvojari.sk/rostacik/archive/2012/03/05/ako-disable-ova-save-button-na-lightswitch-screene.aspx</link><pubDate>Mon, 05 Mar 2012 15:10:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307138</guid><dc:creator>dudok</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;V piatok som riešil 1 nice problémik a prečo sa nepodeliť s krásnym riešením ala Lightswitch?&amp;nbsp;&lt;img src="http://blog.vyvojari.sk/emoticons/emotion-1.gif" alt="Smile" /&gt; Nech vás sila sprevádza bratia.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://rostacik.net/2012/03/05/how-to-disable-save-button-in-lightswitch-screen-based-on-role/"&gt;http://rostacik.net/2012/03/05/how-to-disable-save-button-in-lightswitch-screen-based-on-role/&lt;/a&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307138" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/LightSwitch/default.aspx">LightSwitch</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/microsoft/default.aspx">microsoft</category></item><item><title>Ako pomôcť užívateľovi a trochu mu predplniť dáta v Add new item dialógu</title><link>http://blog.vyvojari.sk/rostacik/archive/2012/03/02/ako-pom-244-c-u-237-vate-ovi-a-trochu-mu-predplni-d-225-ta-v-add-new-item-dial-243-gu.aspx</link><pubDate>Fri, 02 Mar 2012 06:45:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307133</guid><dc:creator>dudok</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;No a dnešný druhý post je o predpĺňaní nového záznamu na screene, celkom často požadovaná feature...&lt;/p&gt;&lt;p&gt;&lt;a href="http://rostacik.net/2012/02/26/how-to-pre-populate-and-post-populate-some-data-for-new-item-in-addandeditnew-or-other-events-in-lightswitch-screen/"&gt;&amp;nbsp;http://rostacik.net/2012/02/26/how-to-pre-populate-and-post-populate-some-data-for-new-item-in-addandeditnew-or-other-events-in-lightswitch-screen/&lt;/a&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307133" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/LightSwitch/default.aspx">LightSwitch</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/microsoft/default.aspx">microsoft</category></item><item><title>Prečo môj Auto Complete Box v Lightswitch neukladá záznam, ktorý vyberiem? (why oh why....)</title><link>http://blog.vyvojari.sk/rostacik/archive/2012/03/02/pre-o-m-244-j-auto-complete-box-v-lightswitch-neuklad-225-z-225-znam-ktor-253-vyberiem-why-oh-why.aspx</link><pubDate>Fri, 02 Mar 2012 06:39:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307132</guid><dc:creator>dudok</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Keďže sa momentálne intenzívnejšie venujem vývoju jednej app v Lightswitch, ak vyriešim nejaký problém, snažím sa o ňom aj napísať, treba sa podeliť, nech zvyšok devstva nemusí trpieť rovnako ako ja, kým na niečo prídu, resp. im to trochu urýchlim, to niekedy bolestné bádanie.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Takže prvý z dnešných článkov je o probléme s neukladaním správneho záznamu pri istých podmienkach z Auto Complete Boxu (nice feature btw, celkom mi dala zabrať) :&lt;/p&gt;&lt;p&gt;&lt;a href="http://rostacik.net/2012/02/26/how-to-avoid-problem-with-auto-complete-box-not-saving-selected-values-in-lightswitch/"&gt;http://rostacik.net/2012/02/26/how-to-avoid-problem-with-auto-complete-box-not-saving-selected-values-in-lightswitch/ &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307132" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/LightSwitch/default.aspx">LightSwitch</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/microsoft/default.aspx">microsoft</category></item><item><title>Visual Studio 11 Beta na prevzatie</title><link>http://blog.vyvojari.sk/dpe/archive/2012/02/29/visual-studio-11-beta-na-prevzatie.aspx</link><pubDate>Wed, 29 Feb 2012 22:08:11 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307122</guid><dc:creator>Blog pre slovenských vývojárov</dc:creator><slash:comments>0</slash:comments><description>Dalo sa tu&amp;scaron;iť, že keď bude spr&amp;iacute;stupnen&amp;yacute; Windows 8 Consumer Preview (na prevzatie na http://windows.microsoft.com/en-US/windows-8/download ), bude kvoli synergii hneď spr&amp;iacute;stupnen&amp;eacute; Visual Studio 11 Beta. Takže &amp;quot;public&amp;quot; download n&amp;aacute;jdete na http://www.microsoft.com/visualstudio/11/en-us/downloads . Str&amp;aacute;nka v&amp;aacute;m pon&amp;uacute;kne download beta verzi&amp;iacute; Visual Studia (ed&amp;iacute;ci&amp;iacute; Ultimate, Premium, Professional, Test Professional...(&lt;a href="http://blog.vyvojari.sk/dpe/archive/2012/02/29/visual-studio-11-beta-na-prevzatie.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307122" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/dpe/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>dojo.require anything</title><link>http://blog.vyvojari.sk/xxxmatko/archive/2012/02/29/dojo-require-anything.aspx</link><pubDate>Wed, 29 Feb 2012 12:10:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307120</guid><dc:creator>xxxmatko</dc:creator><slash:comments>14</slash:comments><description>		
&lt;p&gt;
			Ten, kto sa už niekedy stretol s javascript-ovým frameworkom &lt;b&gt;&lt;a href="http://dojotoolkit.org/api/" target="_blank"&gt;dojo&lt;/a&gt;&lt;/b&gt; vie, že umožňuje vytvárať
			kvázi triedy pomocou metódy &lt;b&gt;dojo.declare&lt;/b&gt; a tieto združovať do kvázi namespace-ov skrz metódu &lt;b&gt;dojo.provide&lt;/b&gt;. Každá takáto trieda predstavuje
			jeden javascript-ový súbor a kvázi namespace, do ktorého je táto trieda zaradená, určuje adresárovú štruktúru, v rámci ktorej sa táto trieda nachádza. 
			Následne potom môžeme využívať kvázi &lt;b&gt;using&lt;/b&gt; implementovaný pomocou metódy &lt;b&gt;dojo.require&lt;/b&gt; pre pripojenie javascript-ov do stránky namiesto
			pripájania jednotlivých javascript-ových súborov pomocu html elementu &lt;b&gt;&amp;lt;script&amp;gt;&lt;/b&gt;.
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="black"&gt;dojo.provide(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Parent&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;dijit._Widget&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Child1&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;sup style="color:red;font-weight:bold;"&gt;1&lt;/sup&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Child2&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&lt;/font&gt;&lt;font color="black"&gt;dojo.declare(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Parent&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;&lt;sup style="color:red;font-weight:bold;"&gt;2&lt;/sup&gt;,&amp;nbsp;[dijit._Widget]&lt;sup style="color:red;font-weight:bold;"&gt;3&lt;/sup&gt;,&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(args,&amp;nbsp;srcNodeRef)&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buildRendering:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postCreate:&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;function&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Príklad jednoduchého widgetu
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
	
		
&lt;p&gt;
			V ukážke je implementovaná trieda &lt;b&gt;Widgets.Parent&lt;/b&gt; (&lt;sup style="color:red;font-weight:bold;"&gt;2&lt;/sup&gt;), ktorá dedí z triedy &lt;b&gt;dijit._Widget&lt;/b&gt;(&lt;sup style="color:red;font-weight:bold;"&gt;3&lt;/sup&gt;)
			a &amp;quot;vyžaduje&amp;quot; ďalšie triedy &lt;b&gt;Widgets.Child1&lt;/b&gt;, &lt;b&gt;Widgets.Child2&lt;/b&gt; (&lt;sup style="color:red;font-weight:bold;"&gt;1&lt;/sup&gt;). Na akom princípe funguje volanie &lt;b&gt;dojo.require&lt;/b&gt;? Na to, aby sme 
			mohli použiť &lt;b&gt;dojo&lt;/b&gt; framework, musíme ho na stránke referencovať. Nič prevratné. Povedzme, že ho referencujem z adresy &lt;b&gt;&amp;quot;http://nejakaadreas.sk/dojo/dojo.js&amp;quot;&lt;/b&gt;. Na základe tejto adresy sa konfiguračná
			property &lt;b&gt;basePath&lt;/b&gt; objektu &lt;b&gt;djConfig&lt;/b&gt; (základná cesta kde je umiestnené dojo core) nastaví na hodnotu &amp;quot;/dojo/&amp;quot;. Volanie metódy &lt;b&gt;dojo.require(&amp;quot;Widgets.Child2&amp;quot;)&lt;/b&gt; na základe
			uvedených konfiguračných hodnôt sa pomocou GET requestu pokúsí stiahnuť skript z adresy &lt;b&gt;&amp;quot;http://nejakaadreas.sk/dojo/Widgets/Child2.js&amp;quot;&lt;/b&gt;. Ak však nechceme, aby sa naše triedy
			nachádzali v tom istom priečinku ako &lt;b&gt;dojo&lt;/b&gt; core, možeme definovať umietnenia custom tried (respektíve modulov) pomocou metódy &lt;b&gt;dojo.registerModulePath(&amp;quot;&amp;lt;moduleName&amp;gt;&amp;quot;, &amp;quot;&amp;lt;modulePath&amp;gt;&amp;quot;)&lt;/b&gt;,
			alebo ešte lepšie pomocou property &lt;b&gt;paths&lt;/b&gt; objektu &lt;b&gt;djConfig&lt;/b&gt; (v starších verziách dojo frameworku sa používala property &lt;b&gt;modulePaths&lt;/b&gt;). 
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;djConfig&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paths:&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Widgets:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;/custom/Widgets&amp;quot;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;	
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Nastavenie umiestnenia custom moduolov
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		
		
&lt;p&gt;
			S vyššie uvedenou konfiguráciou volanie metódy &lt;b&gt;dojo.require(&amp;quot;Widgets.Child2&amp;quot;)&lt;/b&gt; sa pomocou GET requestu pokúsí stiahnuť skript z adresy &lt;b&gt;&amp;quot;http://nejakaadreas.sk/custom/Widgets/Child2.js&amp;quot;&lt;/b&gt;.
			Pri definovaní cesty pre custom moduly je táto cesta relatívna k parent priečinku, v ktorom sa nachádza &lt;b&gt;dojo&lt;/b&gt; core.
		&lt;/p&gt;
		
&lt;p&gt;
			Neznamená to však, že teraz všetky naše custom moduly/triedy musia byť umiestnené
			v tej istej lokalite ako aj samotné &lt;b&gt;dojo&lt;/b&gt; alebo, že musíme mať &lt;b&gt;dojo&lt;/b&gt; umiestnené vždy v rámci samotnej webovej aplikácie. Cesta pre custom moduly môže byť reprezentovaná aj kompletnou
			url adresou. A konečne sa dostávame k meritu veci. Majme v webovú aplikáciu. Táto webová aplikácia referencuje knižnicu, v ktorej sú implementované server ovládacie prvky (server controls). 
			Každý server control pozostáva zo server kódu, ktorý je zodpovedný za vyrenderovanie požadovaného html a inicializáciu dojo widgetu pre vyrenderovaný html kód. Javascript kód widgetu (tak ako je uvedený
			v prvej ukážke) sa nachádza ako &lt;b&gt;Embedded Resource&lt;/b&gt; v rámci referencovanej dynamickej knižnice.
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						
&lt;ul&gt;
							
&lt;li class="solutionIcon"&gt;
								Solution
								
&lt;ul&gt;
									
&lt;li class="folderIcon"&gt;
										WebApp
									&lt;/li&gt;
									
&lt;li class="folderIcon"&gt;
										Custom
										
&lt;ul&gt;
											
&lt;li class="folderIcon"&gt;
												UI
												
&lt;ul&gt;
													
&lt;li class="folderIcon"&gt;
														WebControls
														
&lt;ul&gt;
															
&lt;li class="folderIcon"&gt;
																Widgets
																
&lt;ul&gt;
																	
&lt;li class="folderIcon"&gt;
																		Parent
																		
&lt;ul&gt;
																			
&lt;li class="csharpIcon"&gt;
																				Parent.cs
																			&lt;/li&gt;
																			
&lt;li class="jsIcon"&gt;
																				Parent.js
																			&lt;/li&gt;
																		&lt;/ul&gt;
																	&lt;/li&gt;
																	
&lt;li class="folderIcon"&gt;
																		Child1
																		
&lt;ul&gt;
																			
&lt;li class="csharpIcon"&gt;
																				Child1.cs
																			&lt;/li&gt;
																			
&lt;li class="jsIcon"&gt;
																				Child1.js
																			&lt;/li&gt;
																		&lt;/ul&gt;
																	&lt;/li&gt;
																	
&lt;li class="folderIcon"&gt;
																		Child2
																		
&lt;ul&gt;
																			
&lt;li class="csharpIcon"&gt;
																				Child2.cs
																			&lt;/li&gt;
																			
&lt;li class="jsIcon"&gt;
																				Child2.js
																			&lt;/li&gt;
																		&lt;/ul&gt;
																	&lt;/li&gt;
																&lt;/ul&gt;
															&lt;/li&gt;
														&lt;/ul&gt;
													&lt;/li&gt;
												&lt;/ul&gt;
											&lt;/li&gt;
										&lt;/ul&gt;
									&lt;/li&gt;
								&lt;/ul&gt;
							&lt;/li&gt;
						&lt;/ul&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Štruktúra ukážkového projektu
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
	
		
&lt;p&gt;
			Ak by sme sa teraz pokúsili vytvoriť na stránke widget (tak ako je to uvedené v nasledovnej ukážke), tak by sme neuspeli, pretože volanie &lt;b&gt;dojo.require(&amp;quot;Widgets.Parent&amp;quot;)&lt;/b&gt; zlyhá, nakoľko javascript kód
			widgetu &amp;quot;Parent&amp;quot; sa nenechádza na adrese &lt;b&gt;&amp;quot;http://localhost:#####/dojo/Widgets/Parent.js&amp;quot;&lt;/b&gt;, ale dá sa načítať cez handler &amp;quot;WebResource.axd&amp;quot;. Jednou možnosťou, ako sa s danou situáciou vysporiadať,
			je to, že pred vyrenderovaním stránky vložíme do nej referencie na všetky potrebné skripty pomocu metód &amp;quot;RegisterClientScriptInclude&amp;quot; a &amp;quot;GetWebResourceUrl&amp;quot;.
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;djConfig&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paths:&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Widgets:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;/Widgets&amp;quot;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;dojo.parser&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dojo.require(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;Widgets.Parent&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;dojo.addOnLoad(&lt;/font&gt;&lt;font color="blue"&gt;function&lt;/font&gt;&lt;font color="black"&gt;()&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;parent&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Widgets.Parent({&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;input&amp;nbsp;params&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;},&amp;nbsp;dojo.byId(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;parent&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;})&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;id&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;parent&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Inicializá widgetu &amp;quot;Parent&amp;quot;
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
			
		
&lt;p&gt;
			Toto riešenie ale nie je optimálne a tak isto stráca sa funkčnosť volania &lt;b&gt;dojo.require&lt;/b&gt;. V tomto prípade skončíme s tromi chybnými requestami typu &amp;quot;Not Found&amp;quot; pre javascriptové súbory &amp;quot;Parent.js&amp;quot; 
			(ktorý je referencovaný na samotnej html stránke) a súbory &amp;quot;Child1.js&amp;quot;, &amp;quot;Child2.js&amp;quot;, ktoré sú vyžadované widgetom Parent. Iným riešením môže byť použite &lt;b&gt;HttpHandlerFactory&lt;/b&gt;, ktorá pre spracovanie
			každého	requestu vzniknutého volaním &lt;b&gt;dojo.require&lt;/b&gt; použije custom &lt;b&gt;HttpHandler&lt;/b&gt;, ktorý dokáže na základe requestu načítať resource z assembly a tento zapísať do &lt;b&gt;Response&lt;/b&gt;, a pre každý iný 
			request použije &lt;b&gt;DefaultHttpHandler&lt;/b&gt;.
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;configuration&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;system.web&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;httpHandlers&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;add&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;verb&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;*&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;path&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;*.js&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;WebApp.DojoRequireFactory&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;/&amp;gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;httpHandlers&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;system.web&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;
						&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;configuration&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Konfigurácia použitia HttpHandlerFactory
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;class&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DojoRequireFactory&amp;nbsp;:&amp;nbsp;IHttpHandlerFactory&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;IHttpHandler&amp;nbsp;GetHandler(HttpContext&amp;nbsp;context,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;requestType,&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;url,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;pathTranslated)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Overime&amp;nbsp;ci&amp;nbsp;request&amp;nbsp;koresponduje&amp;nbsp;s&amp;nbsp;tvarom&amp;nbsp;requestu&amp;nbsp;pre&amp;nbsp;volania&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;dojo.require&amp;nbsp;ak&amp;nbsp;nie&amp;nbsp;tak&amp;nbsp;pouzijeme&amp;nbsp;pre&amp;nbsp;spracovanie&amp;nbsp;requestu&amp;nbsp;defaultny&amp;nbsp;handler&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(!DojoRequireHandler.Path.IsMatch(url))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DefaultHttpHandler()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Z&amp;nbsp;url&amp;nbsp;adresy&amp;nbsp;requestu&amp;nbsp;ziskame&amp;nbsp;informaciu&amp;nbsp;o&amp;nbsp;tom&amp;nbsp;v&amp;nbsp;akom&amp;nbsp;nasmespace&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;sa&amp;nbsp;resource&amp;nbsp;nachadza&amp;nbsp;a&amp;nbsp;aky&amp;nbsp;ma&amp;nbsp;byt&amp;nbsp;nazov&amp;nbsp;skriptu&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;var&amp;nbsp;match&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DojoRequireHandler.Path.Match(url)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;script&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;match.Groups[&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;script&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;].Value&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;List&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&amp;nbsp;scriptNamespace&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;List&amp;lt;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;(&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;var&amp;nbsp;namespaces&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;match.Groups[&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;namespace&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;].Captures&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i&amp;nbsp;&amp;lt;&amp;nbsp;namespaces.Count&lt;/font&gt;&lt;font color="blue"&gt;;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;i++)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scriptNamespace.Add(namespaces[i].Value)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Na&amp;nbsp;spracovanie&amp;nbsp;pouzijeme&amp;nbsp;specialny&amp;nbsp;handler&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DojoRequireHandler(script,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;.Join(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;.&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;scriptNamespace))&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						}&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Handler Factory ktorá určí ktorý handler má spracovať request
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
	
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;public&amp;nbsp;class&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DojoRequireHandler&amp;nbsp;:&amp;nbsp;IHttpHandler&lt;br /&gt;
						{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Regularny&amp;nbsp;vyraz,&amp;nbsp;ktory&amp;nbsp;definuje&amp;nbsp;v&amp;nbsp;akom&amp;nbsp;tvare&amp;nbsp;maju&amp;nbsp;vyzerat&amp;nbsp;requesty&amp;nbsp;vykonane&amp;nbsp;cez&amp;nbsp;dojo.require&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;static&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Regex&amp;nbsp;Path&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;Regex(&lt;/font&gt;&lt;font color="#808080"&gt;@&amp;quot;[\w\d:/]*WebResource.axd(?:/(?&amp;lt;namespace&amp;gt;\w+))*/(?&amp;lt;script&amp;gt;\w+)\.js&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_scriptName&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;_namespaces&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;DojoRequireHandler(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;scriptName,&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;namespaces)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._scriptName&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;scriptName&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this&lt;/font&gt;&lt;font color="black"&gt;._namespaces&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;namespaces&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&amp;nbsp;void&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;ProcessRequest(HttpContext&amp;nbsp;context)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;content&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Niektore&amp;nbsp;assemblies&amp;nbsp;chceme&amp;nbsp;preskocit&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;toSkip&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;system&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;microsoft&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Prejdem&amp;nbsp;vsetky&amp;nbsp;pozadovane&amp;nbsp;assemblies&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;foreach&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(Assembly&amp;nbsp;assembly&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;in&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;AppDomain.CurrentDomain.GetAssemblies())&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;name&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;assembly.FullName.Split(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#39;,&amp;#39;&lt;/font&gt;&lt;font color="black"&gt;)[&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;].ToLower()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Preskocime&amp;nbsp;assemblies&amp;nbsp;ktore&amp;nbsp;nechcem&amp;nbsp;spracovavat&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(Array.IndexOf(toSkip,&amp;nbsp;name.Split(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#39;.&amp;#39;&lt;/font&gt;&lt;font color="black"&gt;)[&lt;/font&gt;&lt;font color="maroon"&gt;0&lt;/font&gt;&lt;font color="black"&gt;])&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;-&lt;/font&gt;&lt;font color="maroon"&gt;1&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;continue;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Dynamcike&amp;nbsp;assemblies&amp;nbsp;nechceme&amp;nbsp;spracovavat&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(assembly.IsDynamic)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;continue;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ziskame&amp;nbsp;zoznam&amp;nbsp;resourcov&amp;nbsp;v&amp;nbsp;aktualnej&amp;nbsp;assembly&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt;[]&amp;nbsp;resourceNames&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;assembly.GetManifestResourceNames()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Skusime&amp;nbsp;najst&amp;nbsp;konkretny&amp;nbsp;resource&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;foreach&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;string&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;resourceName&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;in&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;resourceNames)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ak&amp;nbsp;resource&amp;nbsp;name&amp;nbsp;nekonci&amp;nbsp;nazvom&amp;nbsp;skriptu&amp;nbsp;a&amp;nbsp;nezacina&amp;nbsp;nazvom&amp;nbsp;namespacu&amp;nbsp;tak&amp;nbsp;pokracujeme&amp;nbsp;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(!resourceName.EndsWith(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._scriptName&amp;nbsp;+&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;.js&amp;quot;&lt;/font&gt;&lt;font color="black"&gt;,&amp;nbsp;StringComparison.InvariantCultureIgnoreCase)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;||&amp;nbsp;!resourceName.StartsWith(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;._namespaces,&amp;nbsp;StringComparison.InvariantCultureIgnoreCase))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;continue;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Nacitame&amp;nbsp;resource&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(var&amp;nbsp;resourceStream&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;StreamReader(assembly.GetManifestResourceStream(resourceName)))&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;resourceStream.ReadToEnd()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;break;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ak&amp;nbsp;bol&amp;nbsp;uz&amp;nbsp;nacitany&amp;nbsp;resource&amp;nbsp;tak&amp;nbsp;dalsi&amp;nbsp;nehladame&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(content&amp;nbsp;!&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;break;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Ak&amp;nbsp;sa&amp;nbsp;nepodarilo&amp;nbsp;nacitat&amp;nbsp;resource&amp;nbsp;ukoncime&amp;nbsp;response&amp;nbsp;ako&amp;nbsp;notfound&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;(content&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;==&amp;nbsp;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Response.StatusCode&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;int&lt;/font&gt;&lt;font color="black"&gt;)HttpStatusCode.NotFound&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.Response.Flush()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.ApplicationInstance.CompleteRequest()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="darkgreen"&gt;//&amp;nbsp;Obsah&amp;nbsp;resourcu&amp;nbsp;zapiseme&amp;nbsp;do&amp;nbsp;response&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.Response.ContentType&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;text/javascript&amp;quot;&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.Response.Write(content)&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.Response.Flush()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;context.ApplicationInstance.CompleteRequest()&lt;/font&gt;&lt;font color="blue"&gt;;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Handler pre načítanie resource z assembly
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		
		
&lt;p&gt;
			Jediné čo ostáva ešte spraviť, je nastaviť cestu pre náš modul v &lt;b&gt;djConfig&lt;/b&gt; tak, aby &lt;b&gt;dojo.require&lt;/b&gt; volania boli v takom tvare, na základe ktorého &lt;b&gt;HandlerFactory&lt;/b&gt; bude vedieť určiť, že request
			má spracovať custom handler a následne, aby tento handler vedel aký resource má nájsť.
		&lt;/p&gt;
		
&lt;table style="width:100%;"&gt;
			
&lt;tr&gt;
				
&lt;td&gt;
					&lt;div class="code"&gt;
						&lt;font color="blue"&gt;var&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;djConfig&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;=&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paths:&amp;nbsp;{&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Widgets:&amp;nbsp;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;http://localhost:####/WebResource.axd/Custom/Widgets&amp;quot;&lt;br /&gt;
						&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;}&lt;br /&gt;
						}&lt;/font&gt;&lt;font color="blue"&gt;;&lt;/font&gt;
					&lt;/div&gt;
				&lt;/td&gt;
			&lt;/tr&gt;
			
&lt;tr&gt;
				&lt;th style="font-size:10px;font-family:Tahoma;"&gt;
					Upravená djConfig konfigurácia
				&lt;/th&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
			
		
&lt;p&gt;
			S touto konfiguráciou volanie metódy &lt;b&gt;dojo.require(&amp;quot;Widgets.Parent&amp;quot;)&lt;/b&gt; spustí GET request na súbor &lt;b&gt;&amp;quot;http://localhost:####/WebResource.axd/Custom/Widgets/Parent.js&lt;/b&gt;, pre spracovanie ktorého
			&lt;b&gt;DojoRequireFactory &lt;/b&gt; vyberie custom handler &lt;b&gt;DojoRequireHandler&lt;/b&gt;, ktorý načíta obsah súboru z assembly a ten zapíše do &lt;b&gt;Response&lt;/b&gt;. Takto nám bude requirovanie skriptov pomocou &lt;b&gt;dojo&lt;/b&gt; fungovať aj pokiaľ budú tieto 
			uložené ako resources v assembly.
		&lt;/p&gt;

		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307120" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/djConfig/default.aspx">djConfig</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/dojo/default.aspx">dojo</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/dojo.declare/default.aspx">dojo.declare</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/dojo.require/default.aspx">dojo.require</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/HttpHandler/default.aspx">HttpHandler</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/HttpHandlerFactory/default.aspx">HttpHandlerFactory</category><category domain="http://blog.vyvojari.sk/xxxmatko/archive/tags/widget/default.aspx">widget</category></item><item><title>Microsoft TechDays 2012 </title><link>http://blog.vyvojari.sk/dpe/archive/2012/02/24/microsoft-techdays-2012.aspx</link><pubDate>Fri, 24 Feb 2012 11:31:27 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307119</guid><dc:creator>Blog pre slovenských vývojárov</dc:creator><slash:comments>0</slash:comments><description>Čo je nov&amp;eacute; vo svete IT a ak&amp;eacute; bud&amp;uacute; trendy v najbliž&amp;scaron;&amp;iacute;ch rokoch? TechDays je najv&amp;auml;č&amp;scaron;ie tohtoročn&amp;eacute; odborn&amp;eacute; podujatie spoločnosti Microsoft na Slovensku. V piatich simult&amp;aacute;nnych predn&amp;aacute;&amp;scaron;kov&amp;yacute;ch blokoch a popoludňaj&amp;scaron;&amp;iacute;ch praktick&amp;yacute;ch kempoch z&amp;iacute;skate detailn&amp;eacute; technick&amp;eacute; inform&amp;aacute;cie od &amp;scaron;pičkov&amp;yacute;ch profesion&amp;aacute;lov. Ch&amp;yacute;bať nebude ani hor&amp;uacute;ca novinka...(&lt;a href="http://blog.vyvojari.sk/dpe/archive/2012/02/24/microsoft-techdays-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307119" width="1" height="1"&gt;</description></item><item><title>Dynamické vytvorenie subdomény v ASP.NET / MVC</title><link>http://blog.vyvojari.sk/petersirka/archive/2012/02/22/dynamick-233-vytvorenie-subdom-233-ny-v-asp-net-mvc.aspx</link><pubDate>Wed, 22 Feb 2012 22:33:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307118</guid><dc:creator>siro</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Bolo to už dávno, čo nás na firme žralo, že naša konkurencia vedela riešiť dynamicky vytvárenie subdomén alebo domén 3 úrovne. Google ich lepšie indexoval (tak sa nám to zdalo) a riešenie prišlo až v IIS 7.&lt;/p&gt;&lt;p&gt;&lt;a href="http://petersirka.sk/development/dynamicke-vytvorenie-subdomeny-asp-net-mvc/"&gt;http://petersirka.sk/development/dynamicke-vytvorenie-subdomeny-asp-net-mvc/ &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307118" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/ASP.MVC/default.aspx">ASP.MVC</category><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/IIS/default.aspx">IIS</category></item><item><title>MozgoCamp CQRS prednáška</title><link>http://blog.vyvojari.sk/tomas/archive/2012/02/13/mozgocamp-cqrs-predn-225-ka.aspx</link><pubDate>Mon, 13 Feb 2012 12:30:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307112</guid><dc:creator>T</dc:creator><slash:comments>5</slash:comments><description>Vlko ma prizval na MozgoCamp #7 . V presvedční, že idem naozaj do priestorov, ktoré zodpovedajú smrťometálovému videu na Jonatanusom blogu, som chvíľu uvažoval o tom, že si dám termoprádlo, gumáky a pribalím pršiplášť. Nakoniec to bolo celkom inak a nohy som mal doslova v teple. Z prednášky bola nakoniec skôr diskusia, čo mi ale vôbec nevadilo. To najdôležitejšie však bolo, že som spoznal kopu milých a šikovných ľudí (ktorí ma upozornili na kopu zaujímavých vecí) a opäť som sa utvrdil v tom, že mnohé...(&lt;a href="http://blog.vyvojari.sk/tomas/archive/2012/02/13/mozgocamp-cqrs-predn-225-ka.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307112" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/tomas/archive/tags/CQRS/default.aspx">CQRS</category><category domain="http://blog.vyvojari.sk/tomas/archive/tags/mozgocamp/default.aspx">mozgocamp</category></item><item><title>ASP.MVC - Session troška inak a prihlásený užívateľ</title><link>http://blog.vyvojari.sk/petersirka/archive/2012/02/08/asp-mvc-session-tro-ka-inak-a-prihl-225-sen-253-u-237-vate.aspx</link><pubDate>Wed, 08 Feb 2012 07:53:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307111</guid><dc:creator>siro</dc:creator><slash:comments>0</slash:comments><description>&lt;div class="description"&gt;V dávnej minulosti som používal vstavaného Session 
providera. Raz mi praskli nervy a rozhodol som sa experimentovať. Stálo 
to za to. Ten kto neexperimentuje ten nemá a ja experimentujem len pre 
moje potreby.&lt;/div&gt;&lt;div class="description"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="description"&gt;&lt;a href="http://petersirka.sk/development/asp-mvc-session-trocha-inak-prihlaseny-uzivatel/"&gt;http://petersirka.sk/development/asp-mvc-session-trocha-inak-prihlaseny-uzivatel/&lt;/a&gt; &lt;/div&gt;&lt;div class="description"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="description"&gt;&amp;nbsp;&lt;/div&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307111" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/ASP.MVC/default.aspx">ASP.MVC</category><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/c_2300_/default.aspx">c#</category><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/custom/default.aspx">custom</category><category domain="http://blog.vyvojari.sk/petersirka/archive/tags/Session/default.aspx">Session</category></item><item><title>ReplaceSpecialCharactersLibrary - helper na odstránenie diakritiky zo stringu</title><link>http://blog.vyvojari.sk/rostacik/archive/2012/02/03/replacespecialcharacterslibrary-helper-na-odstr-225-nenie-diakritiky-zo-stringu.aspx</link><pubDate>Fri, 03 Feb 2012 09:14:00 GMT</pubDate><guid isPermaLink="false">cbdfeddd-8b45-43cb-b10b-361e40cba84b:307100</guid><dc:creator>dudok</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Až sa trochu hanbím to sem dať, nazývať knižnicou 5 riadkov kódu je sila a odvaha, ale chcel som ten kód aj trochu otestovať a preto som ho zabalil ako knižnicu. Viac info na tomto linku :&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://rostacik.net/2012/02/03/replacespecialcharacterslibrary-kniznica-na-odstranenie-diakritiky-zo-stringu/"&gt;http://rostacik.net/2012/02/03/replacespecialcharacterslibrary-kniznica-na-odstranenie-diakritiky-zo-stringu/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;alebo si priamo pozrite kód :&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/rostacik/ReplaceSpecialCharactersLibrary"&gt;https://github.com/rostacik/ReplaceSpecialCharactersLibrary &lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Privítam nejaké návrhy na opravu bad practices, alebo čohokoľvek iného. &lt;br /&gt;&lt;/p&gt;
		&lt;script src="http://connect.facebook.net/en_US/all.js#xfbml=1"&gt;&lt;/script&gt;&lt;fb:like href="" show_faces="true" width="450" font=""&gt;&lt;/fb:like&gt;&lt;img src="http://blog.vyvojari.sk/aggbug.aspx?PostID=307100" width="1" height="1"&gt;</description><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blog.vyvojari.sk/rostacik/archive/tags/class+library/default.aspx">class library</category></item></channel></rss>
