/ / NET chyba zachytávania na úrovni aplikácie? - .net, asp.net

Chyba chyby .NET na úrovni aplikácie? - .net, asp.net

Čítal som o pasci.Čisté chyby na úrovni stránok a aplikácií a nemožno rozhodnúť o tom, čo najlepšie vyhovuje tomu, čo chcem robiť. Všetko, čo chcem, je základné presmerovanie na stránku, ktorá hovorí používateľom, že došlo k chybe, bez ohľadu na to, na čom sa vyskytla chyba alebo na akej stránke sa to stalo (aj tam bude nejaká logovanie). Mala by to byť úroveň aplikácie?

Vďaka

odpovede:

1 pre odpoveď č. 1

Môžete pridať customErrors atribút web.config. Presmeruje na zadané stránky chyby:

<system.web>
<customErrors defaultRedirect="~/ErrorGeneric.html" mode="RemoteOnly">
<error statusCode="500" redirect="~/Error500.html"/>
<error statusCode="404" redirect="~/Error404.html"/>
</customErrors>
<system.web>

Navyše nakonfigurujte protokolový rámec, ktorý vám pomôže ukladať informácie o chybách pre neskoršiu analýzu. Tu je niekoľko rámcov: ELMAH, log4net, CuttingEdge.Logging, Radím vám, aby ste použili jeden z týchto rámcov, namiesto toho, aby ste sa o tom dozvedeli Application_Error udalosti a funkcie zápisu denníka sami.


0 pre odpoveď č. 2

Áno, môžete to urobiť zachytením udalosti Application_Error vo vašom Global.asax. Toto je príklad z MSDN:

void Application_Error(object sender, EventArgs e)
{
// Get the exception object.
Exception exc = Server.GetLastError();

// Handle HTTP errors
if (exc.GetType() == typeof(HttpException))
{
//Redirect HTTP errors to HttpError page
Server.Transfer("HttpErrorPage.aspx");
}
// For other kinds of errors give the user some information
// Log the exception and notify system operators
// Clear the error from the server
Server.ClearError();
}

vidieť táto strana pre úplný príklad a niekoľko všeobecných rád na túto tému.


0 pre odpoveď č. 3

Pozrite si.Chybové stránky NET funkcie v Internet Information Server (IIS 7). Tu môžete pridať rôzne chybové stránky pre rôzne chyby HTTP. Odstráňte výnimky HTTP pomocou kódu chyby HTTP, ktorý chcete pre svoju chybu http://msdn.microsoft.com/en-us/library/bazc3hww.aspx