11 messaggi dal 27 marzo 2012
Buongiorno a tutti, ho il seguente problema.

In una webform in un'area riservata ho implementato una pagina come può essere questa di scrittura di un post.
Box di scrittura libera con un pulsante salva. Il problema è che se chi scrive impiega troppo tempo a scrivere (ovviamente magari sta pensano a cosa scrivere) clicca su il pulsante salva e compare un errore relativo a Object reference not set....

Ho pensato fosse un problema del tempo di validità delle variabili di sessione (2 variabil) utilizzate nella pagina, ho allungato i tempi di sessione in 40 minuti con lo stesso risultato negativo, ho sostituito per test le variabili di sessione con i cookie ma stesso risultato.

Ho pensato che i controlli asp (tipo il button del salva) abbia in qualche modo un timeout di validità...

Qualcuno mi può aiutare?

Grazie mille
Mauro
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Mauro,
è importante riuscire a scoprire qual è la riga di codice che sta causando questo errore.
Object reference not set....


Nella pagina di errore che ti presenta ASP.NET viene riportata l'esatta riga di codice e il file in cui l'errore si è originato. Puoi vedere un esempio in questa immagine:
https://weblog.west-wind.com/images/2017/Bypassing-IIS-Error-Messages-in-an-ASP.NET-Application/LocalAspNetError.png

Se tu hai una pagina di errore diversa, che NON ti mostra la riga dell'errore, allora dovresti andare nel file web.config e aggiungere temporaneamente questa riga all'interno dell'elemento <system.web>
<customErrors mode="Off"/>


Se l'elemento customErrors era già presente, allora non lo aggiungere di nuovo ma modifica il suo attributo "mode" su "Off".
A questo punto, quando ti si verificherà di nuovo l'errore, potrai vedere l'esatta riga di codice da cui si origina il problema.

Posta qui quello che scopri.

ciao,
Moreno

Enjoy learning and just keep making
11 messaggi dal 27 marzo 2012
Grazie mille provvedo secondo le tue indicazioni e ti faccio sapere.

MC
11 messaggi dal 27 marzo 2012
In localhost non si ricrea il problema. Ho tolto la gestione del customErrors come avevi indicato. Ho compilato il box e lasciato per 10 minuti inattivo per poi scrivere ancora e cliccare su salva e mi ha salvato senza problemi (in localhost in modalità debug non ho problemi).

Pubblicato il tutto in un ambiente demo su un server VPS tutto funziona se faccio le operazioni normali, ho provato ad attendere 10 minuti prima di cliccare su salva e di nuovo si verifica l'errore....temo proprio non sia un problema di codice, secondo me è qualcosa sulle configurazioni di IIS o sull'uso delle webform. Se lasciate ferme per un quantitativo di tempo e poi riprese c'è un qualche problema con i postBack o altro ma non ho la più pallida idea di dove sbattere la testa.

MC
Modificato da mauro.coltrini il 09 aprile 2019 13:50 -
11 messaggi dal 27 marzo 2012
Forse ho scoperto...anche se gestisco i tempi delle variabili di sessione nel webconfig e in IIS configurandole per esempio sui 40 minuti, se sostituisco tali variabili di sessione con dei cookie il problema dell'attesa della pagina per poi essere ripresa e svolgere delle funzioni non si verifica più.

Sicuramente da qualche parte sbaglio qualcosa nella configurazione di IIS o WebConfig perchè in localhost non ci sono problemi, in release su server pubblicato ho questi errori che sono dovuti al recupero dei valori delle variabili di sessione anche se ho aumentato i tempi e non sono trascorsi tali limiti.

Qualcuno ha qualche info al riguardo?

Avevo provato anche a fissare un machineKey dedicato alla WebApp ma senza risultato.

Ciao a tutti
Mauro
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Mauro,
ho l'impressione che IIS stia arrestando l'applicazione per inattività. Infatti, se non arrivano richieste, dopo 20 minuti l'applicazione viene spenta e perciò le variabili di sessione si perdono.
Prova ad impedirlo impostando l'application pool con la "Start mode" su "Always running". Lo trovi scritto qui:
https://weblog.west-wind.com/posts/2013/oct/02/use-iis-application-initialization-for-keeping-aspnet-apps-alive


Qualcuno ha qualche info al riguardo?

Non ho altre info. Prima mi dovresti dire quale riga di codice sta causando questo errore:
Object reference not set....

E' un errore nel TUO codice, non di IIS o di altro.

ciao,
Moreno
Modificato da BrightSoul il 10 aprile 2019 00:46 -

Enjoy learning and just keep making
11 messaggi dal 27 marzo 2012
Grazie provo anche questa tua indicazione e ti faccio sapere.

Mauro
11 messaggi dal 27 marzo 2012
Purtroppo la modifica su IIS non ha portato a cambiamenti.
La parte del codice che genera il salto è quando chiedo cerco di assegnare ad una variabile di tipo int un id che ho in una variabile di sessione

' idsquadra = CInt(Session("IDSQUADRA").ToString)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.