sql >> Databáze >  >> RDS >> Sqlserver

Zpracování chyb v klasickém Asp bez chyby časového limitu

Domnívám se, že vaše otázka je "Jak mohu zachytit chybu časového limitu skriptu a zaznamenat ji do databáze". Pak odpověď zní, že to nemůžete udělat s dalším pokračováním při chybě.

Problém je v tom, že ASP zjistilo, že váš skript běží příliš dlouho. Aby váš kód mohl zachytit a zaznamenat chybu, váš kód musí pokračovat, ale to je přesně to, co ASP určilo, že by se nemělo stát, protože jeho čas vypršel.

Také obecně, pokud nemůžete pokračovat v něčem rozumném (a to nezahrnuje protokolování) ve vašem skriptu, nemá smysl pokoušet se použít On Error Resume Next k zachycení chyby.

Místo toho vytvořte nový skript ASP, který by se měl spustit vždy, když se objeví chyba skriptu (to bude zahrnovat chybu časového limitu skriptu). Ve správci IIS otevřete dialogové okno vlastností aplikací a vyberte kartu Vlastní chyby. Upravte obslužnou rutinu pro chybu 500;100 HTTP a změňte ji na URL a cestu tohoto skriptu ASP.

Nyní můžete umístit svůj kód protokolování chyb do tohoto skriptu ASP. K chybě vyvolané chybující stránkou ASP můžete přistupovat pomocí metody Server.GetLastError. Tuto stránku můžete také nakonfigurovat tak, aby uživateli posílala něco přátelského.



  1. Agregace řetězců v průběhu let v SQL Server

  2. Aby server každý den automaticky spouštěl asp-script

  3. Jak zkontrolovat, zda je řetězec platný DATE, TIME nebo DATETIME

  4. Mapování znaků / vyhledávání a nahrazování znak po znaku v SQL Server 2008 R2