Všechny články
S příchodem .NET Frameworku 4.5 vyjde i nová verze technologie Windows Identity Foundation (WIF). Zatímco verze WIF 1.0 je k dispozici jako samostatný instalační balíček, který obsahuje assembly Microsoft.IdentityModel.dll pro .NET 3.5 nebo 4.0, verze WIF 4.5 je nyní kompletně integrována do .NET Frameworku 4.5. Koukneme se na rozdíly v architektuře a v API.
Jazyk C# rozlišuje dva typy porovnávání - porovnání referenční (reference equality) a hodnotové (value equality). Hodnotové porovnávání se chápe tak, že dva objekty jsou shodné pokud tyto objekty představují stejnou hodnotu, referenční se chápe tak, že dvě reference jsou shodné pokud odkazují na stejný objekt (tj. stejnou instanci). Pro referenční porovnávání se používá metoda ReferenceEquals, pro hodnotové metoda Equals (případně statická metoda Equals).
Pokud používáte ve své aplikaci technologii WIF v současné verzi pro .NET Framework 3.5/4.0 (verze 1.0), brzy zjistíte, že dotazování na claims obsažené v objektu ClaimsIdentity resp. ClaimsPrincipal je poměrně složité (je nutné použít buď LINQ dotaz nebo foreach cyklus).
Po integraci WIF přímo do .NET Frameworku v připravované verzi 4.5 (nyní k dispozici v RC) dojde v tomto k výraznému posunu. A mezitím než se tak stane jsem připravil extension metody, které portují metody nové verze i do verze současné.
Minule jsme skoro dokončili naší ukázkovou ASP.NET aplikaci pro přístup k souborům (její kompletní zdrojové soubory jsou k dispozici zde). V této poslední části doplníme ještě ošetření případných chyb aplikace a vytvoříme vlastní stránky pro Error a 404 (NotFound).
V této předposlední části naší ukázkovou aplikaci z minula v podstatě dokončíme implementací stránky Default.aspx, která bude zobrazovat seznam souborů. A dále do aplikace vložíme handler na stahování souborů.
V první části jsme tvorbu naší ukázkové webové aplikace pro přístup k souborům skončili tím, že jsme vytvořili Mater Page a dvě stránky Default a Login, které budeme postupně doplňovat. V této části dokončíme stránku Login, přidáme kód pro přihlášení a provedeme potřebné nastavení ve Web.config souboru.
V této čtyř dílné sérii budu postupně popisovat postup vytvoření jednoduché ASP.NET aplikace pro umožnění přístupu k souborům pro přihlášené uživatele. Nepůjde jen o aplikaci samotnou, ale hlavně si ukážeme některé záležitosti dnešních ASP.NET WebForms aplikací. Některé řešené věci budou určitě využitelné i v jiných aplikacích. Také je možné, že některé tyto záležitosti mnozí z vás znáte (nebo je řešíte trochu jinak), ale věřím, že někteří si některé novinky z této série odnesou.
Pokud například v nějaké knihovně implementujeme veřejné třídy pro vlastní výjimky, měli by tyto třídy být implementované jako serializovatelné objekty. Obecně totiž nemusíme vědět, zda se nevyskytne případ, kdy exception objekt bude muset překročit hranici aplikační domény a pak by chybná implementace vadila.
Seriál Práce s časovými pásmy a letním časem v aplikaci a databázi - díl 3.
DateTimeOffset je méně využívanou alternativou struktury DateTime v .NET Frameworku. Navíc dovoluje ukládat časové pásmo a pohodlně s ním pracovat.