November 2006 Entries

Chat tecnica sui Design Pattern e dintorni

Stasera ho partecipato alla prima chat tecnica organizzata da Emanuele, a cui ha partecipato anche Riccardo Golia, Vito Arconzo, Alessandro Melchiori, Roberto Vespa e MatteoB. La chat si è svolta via MSN, e l'argomento era "i design pattern". Devo ammettere che ero un pò scettico sulla riuscita della iniziativa, temevo che una cosa del genere fatta via Messenger avrebbe retto poco. Sono contento di essermi sbagliato, perchè non solo siamo riusciti bene o male a seguire quello che gli altri avevano da dire sull'argomento, in poche parole ad interagire nonostante a volte partissero 2 o 3 thread contemporaneamente, ma siamo anche riusciti ad "accendere"...

posted @ Monday, November 27, 2006 2:06 PM | Feedback (2)

App_offline.htm e i 512 byte

Nonostante qualche commento negativo letto in Rete, a me il comportamento di ASP .NET 2.0 in presenza del file app_offline.htm nella root della web application mi sembra abbastanza comodo e funzionale. Ricordo che questo file è utile quando si è in fase di manutenzione della propria applicazione web e si vuol fornire un messaggio "user friendly" agli utenti informandoli che l'applicazione non è momentaneamente disponibile, o qualsiasi cosa si voglia. In presenza di un file con tale nome infatti, l'engine di ASP .NET 2.0 effettua lo shutdown dell'applicazione, scarica l'appDomain e risponde ad ogni richiesta dei files normalmente gestiti dallo stesso...

posted @ Saturday, November 18, 2006 10:09 AM | Feedback (0)

Failed to open a table in Sql Profiler

Applicare un service pack è una operazione che andrebbe meditata un pò, almeno andrebbe fatta dopo aver letto quali sono le fix apportate e quali sono gli eventuali impatti. A volte un però l'applicazione di un service pack provoca che una qualche funzionalità smette di ....funzionare. A parte gli scherzi, applicando il service pack 4 a Sql Server 2000 diventa impossibile aprire un trace table con Sql Profiler a causa del seguente errore bloccante: "Failed to open a table". Soluzione immediata ? Aprirlo con il profiler di Sql Server 2005. Il tutto è ampiamente documentato in questo articolo della KB Microsoft 

posted @ Saturday, November 18, 2006 3:13 AM | Feedback (0)

LinkDemands, il corretto modo di utilizzarlo

Una cosa che non sapevo, e che desidero condividerla con gli (eventuali) lettori di questo blog: un link demand a livello di metodo sovrascrive sempre un link demand a livello di classe anche se trattasi di permessi differenti. Esempio, data questa classe: [FileIOPermission(SecurityAction.LinkDemand, Unrestricted=true)]public class ClassA  [EnvironmentPermission(SecurityAction.LinkDemand, Read="VAR1" )]  public void Method1)  {  }} Il link demands a livello di metodo effettua l'override di quello a livello di classe, anche se si tratta di permessi differenti. In questo caso il link demands EnvironmentPermission sostituisce il link demands FileIOPermission, con la conseguenza che quest'ultimo permesso non viene richiesto per il metodo in questione. Morale, occorre esplicitamente...

posted @ Thursday, November 02, 2006 8:37 AM | Feedback (0)

Attributo AllowPartiallyTrustedCallers

In determinate circostanze, è possibile che una applicazione ASP .NET restituisca un errore del tipo "Configuration Error", "Required permissions cannot be acquired". Il testo di questo errore è fuorviante, nel senso che non fornisce alcun dettaglio, ma c'è un motivo ben preciso. Esso si verifica quando un membro pubblico di una classe inserita in un assembly firmato con uno strong name e registrato nella GAC, viene chiamato da codice situato in un assembly che non dispone del permesso "FullTrust". Infatti, come regola generale, per poter accedere ai membri pubblici di classi inseriti in assembly firmati con strong name è necessario...

posted @ Thursday, November 02, 2006 2:51 AM | Feedback (2)