.NET 3.5 SP2 e il baco scaccia baco

Share

E’ stata una settimana abbastanza faticosa, quella che mi sono appena lasciato alla spalle, e con qualche lezione da imparare (oltre alle solite vagonate di merda e astio..).
Volendo, solo per amor proprio, guardare la parte mezza piena del bicchiere posso dire che la settimana è stata un buon momento per apprendere cose nuove.

Infatti questa settimana mi ha insegnato almeno 2 cose:

  • MAI accelerare le procedure di rilascio di versioni apparentemente innocue di software ma attenersi scrupolosamente e metodologicamente alle tempistiche decise;
  • Quando un baco si rivela dopo una Service Pack, solitamente c’è un baco che ne nascondeva un altro;

Il primo è una lezione che ormai sta diventando praticamente un dogma:

“ogni volta che si salta un passo della procedura di verifica o se ne  accorciano i tempila possibilità di incorrere in un problema è direttamente proporzionale alla complessità dell’infrastruttura più l’entità delle modifica”

La seconda è un corollario della programmazione a scarso tasso di verifiche statiche del codice.
Quello che è successo nel nostro caso è che, nel deploy della .NET 3.5 SP1, abbiamo inconsapevolemente effettuato anche la SP2 di .NET 2.0 che modificava il comportamento della form standard per il postback dei controlli aspnet.

La cosa abbastanza brutta è che il framework .NET 3.5 viene riportato come un superset del 2.0 di cui non modifica il core. Dunque si è portati a pensare che non vi sia alcuna controindicazione particolare ad installarlo qualora si renda necessario.
Peccato che al suo interno il package da me scaricato contenesse anche la Service Pack 2 di .NET 2.0 che modifica il comportamento della generazione della pagina in presenza di una form di tipo aspnetForm senza paramentro Action valorizzato.

Nel nostro caso, precedentemente alla SP, l’action veniva automaticamente ritenuto essere la stessa pagina sorgente del PostBack. Da questa nuova release il valore vuoto genera un comportamento diverso da prima e, nel nostro caso, l’action veniva popolata con una stringa presa altrove.

Il risultato è che nessun si poteva autenticare visto che mancava il giusto URL di post: non generando nessun errore di compilazione la presenza di due tag FORM ha generato un tale trambusto che il problema sembrava essere di altra natura.

Visto che la SP2 non è disinstallabile ed è installata dal package del framework .NET 3.5 sarebbe meglio sapere dall’inizio quali sono i bachi risolti.

Baco scaccia baco…..

 

This entry was posted in .NET Framework, Troubleshooting and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>