Provider object model v ASP.NET 2.0 představuje velký krok kupředu proti verzi 1.x. Vestavěné SQL providery jsou ovšem pro většinu aplikací prakticky nepoužitelné, protože vyžadují velice specifickou databázovou strukturu.

Hlavním motivem při tvorbě vestavěných providerů (jejichž zdrojové kódy jsou mimochodem volně dostupné) byla naprostá univerzálnost. Databáze je tedy "rozkročena" velice široce, umožňuje uchovávat jakýkoliv serializovatelný typ v profilech, údaje více nezávislých aplikací v jedné struktuře tabulek a podobně.

Altairis Simple ASP.NET SQL Providers

Knihovna Altairis Simple ASP.NET SQL Providers obsahuje tři providery:

Moji provideři nejsou tak univerzální jako ty vestavěné. Nepodporují např. anonymní profily, mají pouze některé typy vlastností v profilech, neumí blokování účtů nebo více nezávislých aplikací v jedné databázi). Hlavním motivem při jejich tvorbě byla nicméně snadná integrace se zbytkem databázové struktury libovolné aplikace.

Membership a Profile provider si vystačí každý s jednou tabulkou, Role provider potřebuje dvě. Ze shora uvedených důvodů nepoužívám ani uložené procedury a podobně. Rovněž je snadné tuto strukturu upravit, případně do ní přidat vlastní pole, které vaše aplikace využívá.

Release Candidate 1 a CodePlex

CodePlex

Od samého počátku bylo mým záměrem tuto knihovnu zveřejnit, ale neustále jsem nebyl schopen k nim napsat nějakou dokumentaci a zejména udržovat publikovanou verzi projektu v aktuálním stavu. Microsoft nicméně spustil nový komunitní projekt CodePlex, kde existuje infrastruktura, která by mi tento úkol měla značně ulehčit.

Tyto providery již delší dobu úspěšně používám na řadě svých projektů (včetně toho na který se právě díváte nebo známého webu akce.altairis.cz). Většina chyb by tedy měla být již vychytána.

Můj plán je neomezovat se pouze na české vývojáře, pište proto prosím v angličtině. Pokud máte zájem podílet se na vývoji, i to je možné. Knihovna je zveřejněna pod Microsoft Shared Source Permissive License (MS-PL), což znamená, že její zdrojový kód můžete upravovat a šířit.