UserControl, UpdatePanel UrlRewrite, una combinazione vincente!

È un po' di tempo che non faccio post sul blog, ma oggi con Stefano e GVNN, stavamo cercando di risolvere un problema in una situazione tipo la seguente:

UserControl normalissimo con all'interno un semplice UdatePanel che al click esegue delle semplici operazioni di select ed insert sul database.
E fin qui nulla di particolare se non fosse per il fatto che al primo colpo veniva eseguito il codice perfettamente, mentre al secondo giro la chiamata asincrona non andava più e veniva mostrato un messaggio di errore tipo il seguente:

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

Ovviamente sia EnableViewStateMac che ViewStateEncryptionMode sono impostati su false ed eravamo in locale quindi niente cluster.

Andando a guardare con fiddler le chiamate ci siamo accorti che al primo giro veniva effettuata una chiamata ad un url, mentre al secondo l'url era differente, o meglio non era più il RawUrl ad essere chiamato ma l'url non riscritto da un HttpModule interno.

Indagando un po' più a fondo ci siamo accorti che all'interno dell'evento pageLoading della classe Sys.WebForms.PageRequestManager veniva riscritto l'url da chiamare.

Il problema è risolvibile aggiungedo questo 4 righe di JavaScript:

Sys.Application.add_load(function()
{
    var form = Sys.WebForms.PageRequestManager.getInstance()._form;
    form._initialAction = form.action = window.location.href;
});

Devo dire che ormai non mi stupisco più quando trovo stranezze sul Framework Ajax 1.0 che ritengo più una versione 0.8, e aggiungo questo comportamento all'elenco delle cose che spero Fixate nella prossima Release (Encoding non UTF-8, WebPart, ecc) del Framework ASP.NET AJAX.

Ciauz

Nella stessa categoria

Commenti
Daniele Bochicchio scrive:
Re: UserControl, UpdatePanel UrlRewrite, una combinazione vincente!

Ugo Lattanzi wrote:
Devo dire che ormai non mi stupisco più quando trovo stranezze sul Framework Ajax 1.0 che ritengo più una versione 0.8

ah no? ed allora chi erano quei 3 che sentivo agitarsi nei giorno scorsi?
06/10/2007 ore 12.25

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - imperugo - Il blog di Ugo Lattanzi

TagCloud
BLOG INFO
  • Post: 63
  • Commenti: 41
  • TrackBacks: 10
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA