Ormai da anni impiego log4net per implementare lo strato di logging nei miei progetti e mi trovo veramente molto bene. Una delle caratteristiche che amo di più di log4net è la possibilità di cambiare log sink solamente tramite file di configurazione, permettendo così di fatto la gestione del log nella propria applicazione senza preoccupazioni di dove poi questi messaggi vadano a finire o se una certa destinazione del log (ad esempio un DB) sia o meno presente nell’ambiente di produzione. La configurazione di questo motore di logging avviene tramite sezione del file di configurazione (web.config o <app>.config) e...
Oggi mi è stato sottoposto un problema veramente curioso. Una collega mi ha fatto notare che durante un’operazione di manutenzione di un DB SQL Server 2008 R2 ha lanciato una query di DELETE che non si è comportata come previsto. In pratica, questa query stava cancellando arbitrariamente i dati dalla tabella senza rispettare la clausola WHERE che compariva regolarmente nel testo della query. Il comando dato al server è il seguente: DELETE FROM dbo.Utenti WHERE IDUtente IN (SELECT IDUtente FROM dbo.Operatori) Come mai il comportamento è strano? Perchè effettivamente in questa query c’è...