di .NET e di altre amenità

ASP.NET 2.0: Immagini con immagine di background

Lo sapevate che un'immagine può avere un'immagine di background? La cosa può sembrare assurda ma si rivela di una certa utilità quando si deve referenziare un'immagine in uno skin di ASP.NET. Avevo già accennato a questa tecnica in un mio precedente post, riguardo l'utilizzo di un div con immagine di background per poter spostare l'url di un'immagine nel css o nella skin. Tuttavia il div ha qualche limitazione dovuta al fatto che non ha una "consistenza solida" che invece un'immagine ha. Talvolta succede quindi che il div venga schiacciato oppure che non lo si riesca a linkare (così come è successo stamattina all'amico Andrea Dottor). La soluzione è proprio quella di adottare una immagine trasparente con un css analogo a quello del div che specifica un background.

<img src="images/spacer.gif" id="myImage" border="0" />

img#myImage
{
    background: url(images/my_image.gif);
    display: block;
    width: 20px;
    height: 20px;
}

Naturalmente l'immagine spacer.gif deve essere rigorosamente trasparente...

powered by IMHO 1.3

ASP.NET 2.0: Resource not found

Chi avesse provato ad utilizzare le risorse localizzate, spostandone lo storage nel database come ho spiegato tempo fa, si sarà reso conto che spesso Visual Studio 2005 restituisce un errore di compilazione che in buona sostanza informa che l'IDE non è in grado di trovare la risorsa specificata.

Questo succede perchè le risorse localizzate vengono caricate già dall'ide di Visual Studio. In realtà quando inserite un ExpressionBuilder questo viene immediatamente convertito nel codice relativo ed eseguito, talvolta anche troppo rapidamente. Ora, nel mio esempio, ma anche in molti altri che si trovano in rete, il codice dell'ResourceProvider si appoggia alla istanza singleton di HttpContext, esposta dalla proprietà Current per determinare in base all'url chiamato il corretto set di risorse. Quando siamo a DesignTime in Visual Studio 2005, non esiste un context HTTP per cui il codice eseguito genererà nella maggioranza dei casi un'eccezione per cui l'ide mostrerà l'errore suddetto.

La soluzione a questo punto è banale: occorre testare il valore di HttpContext.Current per verificare che non sia null prima di interrogare il database. Nel mio caso, qualora il contesto http sia nullo mi premuro di fornire al ResourceProvider dei parametri di default che si occupano addirittura di creare la risorsa mancante riempiendola con un valore fittizio che rende semplice la sua ricerca e popolazione durante la fase di labeling dell'applicazione.

Il codice è semplice:

if (HttpContext.Current == null)
    MakeDefaultResourceContext();

Buone risorse a tutti...

powered by IMHO 1.3

Persistence & Framework: Tutto esaurito!

A 15 giorni dalla data del meeting, posso comunicare che abbiamo fatto il "TUTTO ESAURITO". In realtà ho deciso di fare un po' di overbooking dato che poi c'è una percentuale fisiologica di assenteismo (per inciso l'ultima volta questa percentale è stata bassissima) perciò ancora per qualche giorno accetteremo iscrizioni, tuttavia da oggi formalmente rimangono solo posti in piedi... ma se vi accontentate...

powered by IMHO 1.3

Accordo Pipeline - XE.NET

Stamane, dopo lunga attività, siamo rusciti a concludere un accordo con Pipeline, una azienda leader nel settore della formazione, che garantirà ai soci XE.NET alcuni benefit sull'acquisto dei prodotti Pipeline. La società che ha sedi a Milano, Bologna e Padova garantirà ai soci XE.NET sconti rilevanti sui propri corsi, sugli esami di certificazione, sull'acquisto di libri Mondadori e di simulazioni Trascender. Quest'ultima in particolare è un'offerta molto interessante e vantaggiosa che consiglio a tutti di prendere in considerazione, senza peraltro trascurare le altre.

Unico obbligo per avere accesso agli sconti di Pipeline, l'essere iscritti allo usergroup, semplicemente registrandosi sul sito web all'indirizzo http://www.xedotnet.org e visto che l'accordo non ha limiti geografici...  approfittatene tutti!!!

Tutti i dettagli al seguente indirizzo: http://www.xedotnet.org/pipeline.aspx

powered by IMHO 1.3

VSTS Customization Toolkit - Process Template Editor

durante la ricerca di tool per Team Foundation Server ho trovato questo interessante kit per la customizzazione dei processi. Si tratta del Process Template Editor, che mi ha permeso di sistemare un po' di cose nel processo MSF Agile che usiamo in ufficio. Provatelo, mi sembra stabile e ben fatto oltre che utile. Peccato che nella versione dello scorso marzo sia riportata la seguente frase:

Here is our latest release. No new features - simply bug fixes.

Speriamo cambino idea!

powered by IMHO 1.3

Back from stone age... 3G enabled!

Qualcuno la pensa come me...

Ho scoperto che più di qualcuno condivide con me le medesime perplessità sull'infelice domanda che ha espresso Papa Ratzinger durante la sua visita ad Auschwitz:

Dove era Dio ad Auschwitz? Perchè ha taciuto?" (Papa Benedetto XVI, Auschwitz, 28 Maggio 2006)
di Guido Bedarida

Il Silenzio di Dio
di Jazzer

powered by IMHO 1.3

Che palle!

Qualche buonanima mi spiega perchè, uno povero imbecille che non vuole vedere una partita di calcio della quale gliene importa un fico secco, si trovi costretto a scegliere tra le seguenti tristissime alternative: Un paio di sceneggiati all'italiana, uno tedesco, un filmetto che ha più o meno l'età di mia nonna e nientepopodimeno che Mary Poppins?

Meno male che c'è internet va!

powered by IMHO 1.3

Microsoft Product Feedback Center trasloca

Stamane per pura curiosità sono andato a vedere lo stato di una segnalazione su Microsoft Product Feedback Center e ho scoperto che è in fase di trasloco. Prossimamente sarà ospitato su http://connect.microsoft.com. Meglio così, almeno quando vado a vedere le beta cui partecipo trovo tutto assieme.

powered by IMHO 1.3

Persistence & Framework: I posti vanno a ruba

E' giusto che si sappia, dato che qualcuno ne ha anche fatto richiesta in un commento. A due giorni dalla pubblicazione i posti disponibili per l'evento del 7 Luglio 2006 sono dimezzati. In due giorni, la metà dei posti della sala sono andati letteralmente a ruba, a testimonianza dell'interesse suscitato dall'argomento e lasciatemelo dire con una punta di orgoglio anche del buon lavoro che stiamo facendo.

Domani sera inoltre come ben sapete si terrà la cena organizzativa che ormai ha raccolto circa 15 preavvisi di partecipazione, un numero davvero importante che va ben oltre qualsiasi nostra aspettativa. Il significato di questo appuntamento l'ho già ribadito, ma lasciatemi ricordare che con l'occasione dovremo anche fare il punto dei primi sei mesi di attività del gruppo... perchè già sei mesi son passati!!!

powered by IMHO 1.3

Persistence & Framework: 3# Meeting per XE.NET - reloaded

A causa dei soliti problemi sistemistici la pagina di iscrizione non è stata disponibile per tutta la notte. Ora il problema è risolto:

Link: http://www.xedotnet.org/subscriptions.aspx

powered by IMHO 1.3

Persistence & Framework: 3# Meeting per XE.NET

La persistenza delle informazioni è un argomento da sempre considerato cruciale nello sviluppo. Negli ultimi anni con l'avanzare della programmazione ad oggetti, i metodi di persistenza che un tempo erano considerati all'avanguardia hanno subito il peso degli anni e cominciano a far sentire i propri limiti.

In questo meeting daremo uno sguardo alle nuove proposte che promettono di far risparmiare molto tempo. Il meeting sarà suddiviso in tre sessioni, nelle quali saranno toccati tutti gli aspetti di questa problematica, centrando soprattutto il tema degli ORM mappers, con particolare rilievo per NHibernate, cui sarà dedicata una sessione di Giancarlo Sudano, alias Janky. Janky ci guiderà alla scoperta di quello che è a tutti gli effetti il più famoso engine di persistenza ad oggetti non solo nel mondo .NET.

Da questa sessione prenderemo il largo affrontando altri ORM, e i metodi tradizionali di persistenza in compagnia dapprima di Davide Senatore ed in seguito di Marco Trova che concluderà il meeting dimostrando qualche esempio pratico all'interno di alcuni software opensource che fanno uso dei Mapper. Come vedete quindi anche un grande contributo a XE.NET da parte dei suoi membri. Davide e Marco, per la prima volta si cimentano nello speech, mettendo la loro professionalità e competenza al servizio della community.

Vi aspettiamo, i posti sono limitati e stavolta l'iscrizione è obbligatoria

Agenda & Iscrizioni: http://www.xedotnet.org/subscriptions.aspx

powered by IMHO 1.3