4 pagine in totale: <<Indietro 1 2 3 [4]
Grazie alla classe AzSearch possiamo memorizzare e vedere le parole ricercate senza dover creare alcuna istanza, semplicemente richiamando i metodi Memorize e Viewed.
AzSearch.Memorize("Parola inserita nel form per la ricerca");
int quante_visite = AzSearch.Viewed("parola");
Questo è possibile dato che la classe precedente espone le due funzioni statiche Memorize e Viewed. Guardando nel dettaglio queste funzioni, vediamo che inizialmente richiamano LoadProvider che esegue inizialmente un controllo sull'esistenza di un'istanza del provider precedentemente creata. Qualora non esista l'istanza, viene creata leggendo nel web.config il contenuto della sezione system.web/AzSearchProvider ed, in particolare, la lista dei provider disponibili. Quindi, grazie al metodo statico InstantiateProviders dalla classe ProviderHelper, vengono instanziate le classi provider inserite, ma solo il riferimento a quella definita come defaultProvider viene memorizzata nella proprietà _provider che viene utilizzata dai due metodi citati.
La funzionalità di InstatiateProviders ci permette anche utilizzi particolari. Senza molte difficoltà e con poche modifiche del codice, potremmo sfruttare più provider contemporaneamente, utilizzando nell'ambito del web.config una sintassi simile a quanto segue.
<AzSearchService defaultProvider="AccessAzSearchProvider,XmlAzSearchProvider" caseSensitive="true">
<providers>
<add name="AccessAzSearchProvider" type="AccessAzSearchProvider" connectionString="database.mdb"/>
<add name="XmlAzSearchProvider" type="XmlAzSearchProvider" fileName="words.xml" />
</providers>
</AzSearchService>
Infatti, dato che tutte le istanze dei provider indicati nel file di configurazione sono state caricate, è possibile richiamarle anche contemporaneamente.
public static void Memorize(string word)
{
LoadProviders();
_providers[...].Memorize(word);
_providers[...].Memorize(word);
}
Questo approccio si rivela particolarmente utile nelle occasioni in cui dobbiamo caricare e/o salvare le informazioni in datastore diversi.
Conclusioni
Quello presentato è solo un semplice esempio sull'utilizzo dei provider per la realizzazione di API e servizi custom. Peraltro, sfruttando le indicazioni presenti nell'articolo, chiunque a questo punto è in grado di implementare una propria funzionalità basata sui provider. E' possibile anche scaricare, dal link ad inizio pagina, l'esempio completo come riferimento concreto per eventuali prove e implementazioni.
Approfondimenti
- Il Provider Model di ASP.NET 2.0
- L'architettura dei provider di ASP.NET 2.0
- Creazione di un Membership Provider personalizzato
- ASP.NET 2.0 Provider Model: Introduction to the Provider Model
- Custom Provider-Based Services
- Provider Model Design Pattern and Specification, Part 1
- Provider Design Pattern, Part 2
4 pagine in totale: <<Indietro 1 2 3 [4]
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Utilità
Stampa
Download



