Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Gestione degli errori in Classic Asp senza errore di timeout

Credo che la tua domanda sia "Come posso intercettare l'errore di timeout dello script e registrarlo nel database". Quindi la risposta è che non puoi farlo con Riprendi dopo errore.

Il problema è che ASP ha determinato che lo script è stato eseguito troppo a lungo. Affinché il tuo codice possa intercettare e registrare l'errore, il tuo codice deve continuare, ma è esattamente ciò che ASP ha stabilito che non dovrebbe accadere poiché il suo tempo è scaduto.

Inoltre, in generale, a meno che tu non possa continuare a fare qualcosa di sensato (e che non includa la registrazione) nel tuo script, non ha senso provare a utilizzare On Error Resume Next per intercettare l'errore.

Crea invece un nuovo script ASP che dovrebbe essere eseguito ogni volta che ricevi un errore di script (questo includerà un errore di timeout dello script). In Gestione IIS, apri la finestra di dialogo delle proprietà delle tue applicazioni e seleziona la scheda Errori personalizzati. Modifica il gestore per l'errore HTTP 500;100 e cambialo in URL e nel percorso di questo script ASP.

Ora puoi inserire il codice di registrazione degli errori in questo script ASP. È possibile accedere all'errore generato dalla pagina ASP in errore accedendo al metodo Server.GetLastError. Puoi anche configurare questa pagina per inviare qualcosa di amichevole all'utente.