DarioSantarelli.Blog("UgiDotNet");

<sharing mode=”On” users=”*” />
posts - 176, comments - 105, trackbacks - 3

My Links

News


This is my personal blog. These postings are provided "AS IS" with no warranties, and confer no rights.




Tag Cloud

Archives

Post Categories

My English Blog

ASP.NET

There are 13 entries for the tag ASP.NET
Migliorare le performance di un’applicazione ASP.NET MVC

Esistono molti aspetti da tenere in considerazione quando si parla di performance di applicazioni Web. Infatti, le problematiche legate al protocollo HTTP spesso scavalcano il prode tentativo di scrivere codice server-side e client-side ottimizzato, poiché migliorare le performance di un’ applicazione Web significa anche minimizzare il traffico dati tra client e server. Le best practices per velocizzare il caricamento delle pagine web non sono poche, come si può appurare semplicemente consultando l’utilissimo documento di Yahoo Developer Network dal titolo “Best Practices for Speeding Up Your Web Site”  (parliamo di 35 best practices divise in 7 categorie!) ...

posted @ Tuesday, January 11, 2011 8:31 PM | Feedback (4) | Filed Under [ ASP.NET MVC ]

[ASP.NET MVC 2] Controller asincroni

Una feature molto importante del framework ASP.NET MVC ha a che vedere con la capacità di gestire operazioni asincrone a livello di controller. Di fatto il movente è lo stesso che si trova dietro le Asynchronous Pages in ASP.NET 2.0, ovvero evitare che si verifichino condizioni di thread starvation nella nostra Web Application per poi vedersi ritornare un simpatico status code 503 (Server too busy). Come sappiamo, quando una richiesta viene ricevuta dal Web Server, il processamento viene affidato ad un thread del threadpool dell’applicazione. In uno scenario sincrono, tale thread rimane in vita fintantoché non vengono effettuate tutte le...

posted @ Tuesday, October 12, 2010 8:00 PM | Feedback (0) | Filed Under [ ASP.NET MVC ]

[ASP.NET MVC 2] Localizzazione dell’attributo DisplayName

Per localizzare i metadati delle classi che compongono il model della nostra applicazione MVC 2, principalmente sono due gli aspetti da prendere in considerazione: Localizzare i messaggi di validazione del model. In generale, la localizzazione dei messaggi di errore non è specifica di ASP.NET MVC, bensì è una caratteristica ereditata dai “Data Annotations” di ASP.NET Dynamic Data (namespace System.ComponentModel.DataAnnotations), e si implementa specificando i parametri ErrorMessageResourceName e ErrorMessageResourceType dei vari ValidationAttribute. Localizzare la proprietà DisplayName ove disponibile. Supponiamo di avere il seguente model:...

posted @ Thursday, April 29, 2010 8:20 PM | Feedback (0) |

jQuery e ASP.NET Ajax: $(document).ready() VS asynchronous postback

Molto spesso capita di dover integrare, anche solo per semplici miglioramenti grafici, dei plugin jQuery all’interno delle nostre pagine ASP.NET. Gran parte delle volte l’impatto è indolore mentre in alcuni casi specifici occorre far riferimento ad accorgimenti non banali, soprattutto quando c’è di mezzo ASP.NET Ajax. Il classico esempio si verifica quando ci si aspetta che la funzione $(document).ready() venga chiamata correttamente anche dopo un asynchronous postback tramite UpdatePanel. Infatti, la funzione $(document).ready() permette di determinare il momento in cui il DOM della pagina è caricato dal browser. Tuttavia, in caso di asynchronous postback il DOM può essere...

posted @ Monday, March 9, 2009 9:58 PM | Feedback (2) | Filed Under [ ASP.NET AJAX ]

[WCF] Web Caching con WCF REST Starter Kit

Il WCF REST Starter Kit rende disponibile tra le varie utility anche una semplice soluzione per abilitare il web caching per WCF sfruttando l'interazione con la proprietà HttpResponse.Cache di ASP.NET. La soluzione si basa sull'utilizzo di un attributo WebCache con cui decorare i nostri OperationContract che sono suscettibili a meccanismi di caching secondo una specifica profilatura. L'attributo è definito all'interno della library Microsoft.ServiceModel.Web.dll fornita con il Kit. Vediamo nel dettaglio i vari aspetti di utilizzo aiutandoci con un semplice esempio: la pubblicazione di un feed RSS 2.0 che gestisca un meccanismo di caching web in base al numero di item...

posted @ Saturday, January 10, 2009 4:16 PM | Feedback (2) | Filed Under [ WCF ]

Slides su ASP.Net 3.5 SP1 Dynamic Data

Non che io sia un fan di ASP.NET Dynamic Data, tuttavia ho trovato questa presentazione molto utile per chi vuole avvicinarsi a questa tecnologia senza inciampare :D. Technorati Tag: ASP.NET

posted @ Wednesday, November 26, 2008 4:47 PM | Feedback (0) | Filed Under [ ASP.NET 3.5 ]

jQuery e ASP.NET Server Controls

jQuery è una tecnologia puramente client-side, costituita da almeno una libreria javascript "core" il cui plug-in model è basato semplicimente su altre liberie Javascript. Banale ma non scontato, parliamo di una tecnologia che non possiede alcuna dipendenza con ASP.NET. Di conseguenza, lo sviluppo di controlli ASP.NET "jQuery-enabled" può non essere così semplice da valutare, soprattutto se by-design si pone l'attenzione solo sulle funzionalità client-side che il controllo deve soddisfare. In effetti, le best-practice ci dicono che non è poi così corretto sviluppare un controllo ASP.NET per soddisfare esclusivamente degli specifici comportamenti grafici che siano semplicemente legati al miglioramento della user...

posted @ Sunday, November 23, 2008 6:24 PM | Feedback (0) |

[ASP.NET] PageAsyncTask e pagine asincrone

A partire da ASP.NET 2.0, la classe System.Web.UI.Page introduce un metodo non molto conosciuto in grado di facilitare la realizzazione di pagine asincrone: il metodo RegisterAsyncTask. Spesso mi è capitato di vedere implementare chiamate asincrone (es. invocazione di un WebService) in maniera non corretta sfruttando la logica dell' AddOnPreRenderCompleteAsync, quando in realtà molti dei problemi potevano essere gestiti facilmente tramite Task asincroni, che in ASP.NET sono rappresentati dalla classe PageAsyncTask. Le differenze tra i due approcci non sono moltissime ma significative. Infatti, entrambi richiedono Async="true" nella direttiva @Page (o  AsyncMode = true; da codice) e dunque la...

posted @ Saturday, November 8, 2008 2:23 PM | Feedback (0) | Filed Under [ ASP.NET 2.0 ASP.NET 3.5 ]

Windows Live Tools for Visual Studio (November 2008 CTP)

Ho installato da poco i Windows Live Tools for Microsoft Visual Studio (November 2008 CTP). Le novità introdotte da questa versione sono le seguenti: All the controls are now compatible with trust policy of Windows Azure New templates - Windows Live Web Application and Windows Live Web Role. Windows Live Web Role works for creating web sites web role in a Windows Azure Cloud Project. SilverlightStreamingMediaPlayer Control upgraded to Silverlight 2.0 Tools. ...

posted @ Sunday, November 2, 2008 10:34 AM | Feedback (0) |

[ASP.NET 3.5] AJAX History

ASP.NET 3.5 SP1 introduce un enanchement del controllo ScriptManager che permette di gestire degli stati di navigazione all'interno di una pagina AJAX-enabled accedibili mediante i pulsanti standard "Avanti/Indietro" del browser. In due parole: "Ajax History". Questa funzionalità fu inizialmente introdotta nel vecchio "ASP.NET Futures" mediante il controllo History (in passato scrissi anche un post a riguardo). La questione è tutt'altro che banale: poiché un browser attiva i meccanismi di navigazione in base al cambio dell' URL, in caso di richieste AJAX che non redirigono verso URL diverse, il browser non aggiorna l' history cache, precludendo all'utente...

posted @ Thursday, October 23, 2008 8:12 AM | Feedback (0) | Filed Under [ ASP.NET 3.5 ]

[IIS7] Handlers vs Modules

Concetti base IIS7 introduce una nuova reingegnerizzazione del modello di estendibilità del runtime, non più basato esclusivamente sulle ISAPI (scritte in C). Infatti, oggi abbiamo molto di più, ovvero la possibilità di accedere direttamente alla pipeline di elaborazione delle richieste HTTP sfruttando l'integrazione con ASP.NET, che nello specifico avviene tramite l'implementazione, nativa o managed, di moduli e gestori (Modules e Handlers). Se si intraprende la strada managed, dunque, possiamo stilare le seguenti definizioni: Module: è l'alter ego di un ISAPI filter in quanto coinvolto nell'elaborazione di una richiesta HTTP (si pensi a funzionalità di Authentication,...

posted @ Tuesday, September 30, 2008 10:19 PM | Feedback (0) |

Serializzazione JSON con DataContractJsonSerializer

Una delle novità introdotte dal Framework 3.5 nell' ambito dello sviluppo in AJAX è l'introduzione della classe DataContractJsonSerializer, che di fatto sostituisce la classe JavaScriptSerializer (messa a disposizione dalle precedenti AJAX Extensions 1.0 per ASP.NET 2.0) nella serializzazione/deserializzazione di oggetti JSON. Utilizzando tali extensions la serializzazione/deserializzazione in/da una rappresentazione JSON poteva essere ottenuta in maniera molto semplice con un paio di righe di codice: using System.Web.Script.Serialization; Customer customer = new Customer() { Name = "Dario Santarelli", Address = "via Pippo 10",...

posted @ Monday, September 22, 2008 11:27 PM | Feedback (0) | Filed Under [ ASP.NET 3.5 ]

ASP.NET Futures: il controllo History

Un classico problema delle applicazioni AJAX è mantenere la consistenza della navigazione quando si utilizzano i controlli ("Avanti" e "Indietro") del browser. Chi sviluppa applicazioni Web AJAX-enabled, sicuramente si è accorto di come spesso l'utilizzo del pulsante "Indietro" del browser ad esempio possa provocare una navigazione verso un contenuto o una pagina non desiderata. Il problema è ancor più evidente se vengono generati diversi postback asincroni all'interno della stessa pagina. Ebbene, se precedentemente dovevamo trovare soluzioni ad hoc più o meno eleganti a questo tipo di anomalia funzionale, ora abbiamo il controllo History, che rende la programmabilità della navigazione logica delle nostre applicazioni AJAX-enabled molto più naturale ed intuitiva. Questo server control (attualmente nel namespace Microsoft.Web.Preview.UI.Controls) ha...

posted @ Monday, September 10, 2007 12:04 AM | Feedback (0) | Filed Under [ ASP.NET 3.5 ]

Powered by:
Powered By Subtext Powered By ASP.NET