Accedere ai file salvati nelle risorse con ASP.NET 2.0

di Daniele Bochicchio, in ASP.NET 2.0,

ASP.NET 2.0 fornisce nuove funzionalità dedicate all'utilizzo delle risorse di tipo binario, ad esempio immagini.
In passato (script #809) abbiamo già analizzato le nuove caratteristiche dedicate alla localizzazione, in questo script vedremo invece come accedere a risorse binarie presenti nei file di risorse.

Con ASP.NET 2.0 è stato introdotto un nuovo handler, di nome WebResource.axd, che ha il compito di caricare, attraverso una richiesta come http://web/WebResource.axd?d=Assembly&t=Time di accedere alla risorsa e restituirla via HTTP.

Dopo aver aggiunto dunque il file dentro la directory Resources, è necessario decorare l'assembly (nel file AssemblyInfo.*) con questo attributo:

[assembly: WebResourceAttribute("ASPItalia.com.Resources.myscript.js", "application/x-javascript")]

Successivamente sarà possibile richiamare il codice utilizzando questo snippet:

Page.ClientScript.GetWebResourceUrl(typeof(Page), "ASPItalia.com.Resources.myscript.js")

In questo modo, il testo del file Javascript sarà fornito direttamente via URL, senza includerlo nella pagina. Questa tecnica è utilizzata anche, ad esempio, nei Validator Controls di ASP.NET 2.0.

E' anche possibile usare, nella pagina, questa forma abbreviata:

[code lang="xml"]<script type="text/javascript" src="<%=WebResource("ASPItalia.com.Resources.myscript.js")%>" />

L'effetto che produce è sempre e comunque quello di ricavare l'URL, che nel primo caso è fatto però attraverso un codice che può essere utilizzato per manipolare direttamente le proprietà di un controllo.

Quando si utilizza in Release, questo handler fa uso della Cache, pertanto preseva il web server da un carico eccessivo, evenienza che invece non risulta in debug, dove le risorse vengono ogni volta richieste e scaricate.

Approfondimenti


#809 - Le novità della localizzazione con ASP.NET 2.0
https://www.aspitalia.com/script/809/Novita-Localizzazione-ASP.NET-2.0.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi