发布于 2016-06-12 07:24:07 | 124 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常

在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常。我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录。

首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的Error文件夹下
代码如下:


using System.Globalization;

    /// <summary>
    /// 用于将错误信息输出到txt文件
    /// </summary>
    /// <param name="errorMessage">错误详细信息</param>
    public static void WriteError(string errorMessage)
    {
        try
        {
            string path = "~/Error/" + DateTime.Today.ToString("yyMMdd") + ".txt";
            if (!File.Exists(System.Web.HttpContext.Current.Server.MapPath(path)))
            {
                File.Create(System.Web.HttpContext.Current.Server.MapPath(path)).Close();
            }
            using (StreamWriter w = File.AppendText(System.Web.HttpContext.Current.Server.MapPath(path)))
            {
                w.WriteLine("\r\nLog Entry : ");
                w.WriteLine("{0}", DateTime.Now.ToString(CultureInfo.InvariantCulture));
                w.WriteLine(errorMessage);
                w.WriteLine("________________________________________________________");
                w.Flush();
                w.Close();
            }
        }
        catch (Exception ex)
        {
            WriteError(ex.Message);
        }
    }


在网站Global.asax文件的Application_Error中加入如下代码

void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码
        Exception objErr = Server.GetLastError().GetBaseException();
        //记录出现错误的IP地址
        string strIP = Request.UserHostAddress;
       string err = "Ip【" + strIP + "】" + Environment.NewLine + "Error in【" + Request.Url.ToString() +
                          "】" + Environment.NewLine + "Error Message【" + objErr.Message.ToString() + "】";
        //记录错误
        FN.WriteError(err);
    }

配置Web.Config文件

<system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
     <!--可以指定其他错误页面...-->
    </customErrors>
    </system.web>

建立一个GenericErrorPage.htm文件,用于使用者出现错误时呈现的错误页面。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务