2009-02-25 20 views
18

Viene visualizzato un errore di stato viewstate non valido in relazione a ScriptResource.axd. Mi stavo solo chiedendo se qualcuno di voi potrebbe aiutarmi in questo. Errore:Errore stato viewstate non valido

2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Request start - URL: /Web/ScriptResource.axd?d=E9hlvtsn8Gr1MyjysW1gFDFYr4CVwstY-sC22tRu5V8d7UyEYz3FhVYGrlhY87n2ihgKh58RrMRhK-Yk2WcQahEaCg_asTInqHK 
2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Application_AuthenticateRequest started 
2009-02-24 09:46:30,021 [13] ERROR ASP.global_asax [(null)] - Unexpected error. User presented with Site Error page. 
System.Web.HttpException: Invalid viewstate. 
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) 
    at System.Web.UI.Page.DecryptString(String s) 
    at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context) 
    at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Ciò accade nell'ambiente di produzione. Non riesco a riprodurlo in ambienti di sviluppo o di test. Anche a queste pagine è possibile accedere solo da utenti autenticati. Sarebbe davvero se potessi fare un po 'di luce su questo argomento.

+0

Si sta utilizzando un Web Farm di vostra produzione ambiente? –

risposta

1

Suggerirei di guardare a this ... in sostanza descrive alcuni casi in cui ciò può accadere a seconda del doctype. Abbiamo avuto un problema simile e sembrava presentarsi solo in modo errato ... per noi era un conflitto tra il nostro doctype XHTML e il javascript che avevamo sulla pagina. Siamo stati in grado di risolverlo assicurandoci che tutto il nostro javascript fosse correttamente inserito nei tag.

<script> 
    mycode; 
</script> 

sarebbe diventato

<script> 
// <![CDATA[ 
    mycode; 
// ]]> 
</script> 

Questo potrebbe non essere un problema identico, ma se avete un doctype XHTML, guardare per vedere se si dispone di caratteri escape che non sono XML legale da qualche parte (ad esempio ' < "caratteri).

0

Ciò può accadere se la macchinaKey del pool di applicazioni che riceve la richiesta per scriptresource.axd è diversa da quella del pool di app che ha servito la pagina originale. Questo è più probabile se stai usando una web farm. Può anche accadere su un singolo server se il pool di app si riavvia, poiché verrà generata una nuova chiave di macchina. La soluzione per entrambi è quella di inserire un codice di macchina fisso nel tuo web.config.

2

Come detto, questo potrebbe accadere se si utilizza una Web Farm e le chiavi della macchina non sono sincronizzate.

Un'altra possibilità è che la data di assemblaggio sia in futuro. Questo porta a tutti i tipi di problemi oscuri e vale la pena controllare. Forse il tuo server si trova in un fuso orario diverso?

0

Ho notato che Firefox 3.1 Beta causa errori di stato di visualizzazione non validi. È possibile rivedere i registri per vedere quale browser viene utilizzato quando si verificano questi errori.

+0

Ciao Matt, Sì, ho esaminato i registri. È successo a IE8, IE7 e anche FF3. Quindi è difficile credere che sia un problema specifico del browser. Sto ancora scavando :) Grazie! – CH81

0

Stesso errore per Agente utente: Mozilla/4.0 (compatibile; MSIE 7.0; AOL 9.0; Windows NT 6.0; Trident/4.0; GTB5; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0;. CLR NET 3.5.30729; .NET CLR 3.0.30618)

ho provato la modifica/rimozione dichiarazione DOCTYPE e deformazione il javascript in // < [CDATA [e ci sono ancora delle eccezioni ...

Per la! il momento è venuto tutti dallo stesso IP

+0

(È lo stesso bug di IE8. Si noti "Trident/4.0" nella stringa UA). – EricLaw

0

Ricevo gli stessi errori, in realtà sono appena iniziati negli ultimi mesi o due, è stato felice su un paio dei nostri siti e da dicembre non ne abbiamo più modificati nessuno. Questo mi fa pensare che un cambio di configurazione o un aggiornamento di Windows lo stia facendo.

0

Quanto è grande lo stato di visualizzazione? Alcuni server proxy tronceranno uno stato di visualizzazione di grandi dimensioni.

È facile abusare di viewstate poiché è attivato per impostazione predefinita. Se si dispone di un ampio stato di visualizzazione, è probabile che si desideri visualizzare lo stato di visualizzazione disabilitato sui controlli che non ne hanno bisogno.

1

MS recommends non dichiara il proprio set di caratteri utilizzando un metatag e impostandolo invece come intestazione HTTP.

Quindi rimuovere

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

e aggiungere

Response.AddHeader("Content-Type", "text/html; charset=utf-8");

+0

Questo aiuterà in alcuni casi, ma non in tutti. – EricLaw

5

Credo che questi errori si verificano con diversi browser per motivi diversi, che è ciò che rende così difficile da rintracciare.

IE8 Bug

Microsoft hanno detto un bug di IE8 (in alcune circostanze) generare richieste spurie al server, che non influenzano l'utente ma portano ad errori di essere registrati sul lato server.

Vedi la discussione qui: Bug IE8 – 4K dropped - "Invalid viewstate" when loading ScriptResource.axd(edit: link ora richiede login per qualche motivo, mi spiace)

... in particolare l'aggiornamento di EricLaw-MSFT quando dice:

Vale la pena menzionando che chiunque abbia riscontrato un problema qui in IE6/IE7 o Firefox sta riscontrando un problema diverso che non è correlato al problema IE8 descritto di seguito.

Questo post del blog descrive anche gli insetti: Bugs in IE8's Lookahead Downloader

Dicono che cambiando il modo in cui si imposta Content-Type aiuterà con alcuni degli errori, anche se non tutti - dicono che è causata da vari circostanze oscure che stanno ancora osservando.

Aggiornamento: A partire dal 1 ° aprile 2010, questi bug di IE8 sono stati corretti tramite l'aggiornamento cumulativo IE8 (KB980182).
Questo post: IE8 Lookahead Downloader Fixed fornisce ulteriori dettagli sui bug e altre soluzioni alternative possibili/parziali (ad esempio this one) oltre ad attendere che tutti nel mondo scarichino la correzione.

altri browser

non abbiamo ancora capito, ma gli altri browser sono anche la generazione di questi errori, presumibilmente per motivi diversi.

Web Farm

Questo problema non è limitato ai siti in esecuzione su Web farm, ma se si esegue una fattoria, check out this answer by jesal che può aiutare

Problemi correlati