settembre 2004 Blog Posts
Ho raccolto recentemente una domanda su come si potesse redirezionare su una certa pagina l'utente a cui sia scaduta la sessione.Effettivamente alcune volte nella Session_Start non sempre si hanno a disposizione tutte le informazioni per poter ricostruire i dati di una Session ormai scaduta. Soluzioni alternative certamente ci sono ma volendo scegliere questa strada, ecco una possibile soluzione.
L'evento PreRequestHandlerExecute viene eseguito prima di ogni richiesta di pagina ed ha in più il privilegio di poter accedere alla Session.Se un valore arbitrario della session non è presente, significa che la session è nuova e quindi devo redirigere l'utente sulla pagina prestabilita...
Avete presente quando caricate la pagina di google quanto sia comodo avere subito il focus sulla textbox di ricerca?Lo script da usare è estremamente semplice:
document.all['IdControlloLatoClient'].focus();// -->
dove IdControlloLatoClient è l'id del controllo a cui dare il focus, tassativamente ottenuto con la proprietà ClientID.Lo script va poi registrato con il metodo RegisterStartupScript.
Per risolvere la questione in modo più elegante ho buttato giù un piccolo custom control che registra questo script.[DefaultProperty("FocusControl"), ToolboxData("<{0}:FirstFocus runat=server>")]public class FirstFocus : Control{ private string StartScript = "\r\n
private string EndScript = "\r\n// -->
"; protected Control FindNestedControl(Control root, string name) { foreach(Control ctl in root.Controls) { if(ctl.ID...
Quando sul forum vedo domande sul multithreading, spesso il subbio riguarda quando e come proteggere i membri di una classe per poter accedere in modo sicuro da più thread contemporaneamente.
La risposta classica è sempre la stessa: se c'è la possibilità che durante una operazione di scrittura un altro thread acceda in read o write lo stesso membro condiviso, allora deve essere protetto per tutte le operazioni di read e/o write con una critical section (statement lock di c# o SyncLock di vb.net) o sistema analogo.
Un'interessante eccezione concerne la Hashtable. Questa classe infatti nasce thread safe per un writer e molteplici...