Creazione di una funzionalità custom basata sui provider

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

4 pagine in totale: <<Indietro 1 2 3 [4]

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC