写错误日志时该怎么办会导致错误?

时间:2014-06-10 05:55:10

标签: c# jquery asp.net logging

简单的问题: 当应该记录错误的方法导致错误时该怎么办?

背景:
在更改数据库上的小东西后,这与日志系统非常相关(日志表在代码/用户发生错误时填充,无论如何),我的代码不再运行。登记/> 这里的好奇是,由于数据库方法的错误,系统中断了一些加载方法而jquery没有加载,所以我得到了JQuery错误!我花了大约5个小时才发现,问题不是jquery,而是日志记录方法中的问题导致jquery加载。

那么,如何在代码中避免这样的事情呢?

2 个答案:

答案 0 :(得分:2)

您无法满足每种情况,如果不是写入数据库表,则应表明日志记录存在问题。如果你想加强它,你可以考虑在特定的try catch中遇到DB Exception时写入文本文件。

try 
{
}
catch(SqlException ex)
{
  fallBackWriteErrorToTxt(ex.Message);
}

答案 1 :(得分:0)

您可以使用以下代码

查看请求的天气ajax或简单
public static bool IsAjaxRequest(this HttpRequest request)
{
    if (request == null)
    {
        throw new ArgumentNullException("request");
    }
    return (request["X-Requested-With"] == "XMLHttpRequest") 
           || ((request.Headers != null) && 
           (request.Headers["X-Requested-With"] == "XMLHttpRequest"));
 }

使用上述小说,您可以查看天气是否是ajax 资料来源:How to check if request is ajax or not in codebehind - ASP.NET Webforms

您还可以在数据库中创建一个列,以显示哪个类型的错误提供了从前端传递值。

您还可以使用全局文件的Application_Error方法记录错误。