<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace CoSales
{
    public class MvcApplication : System.Web.HttpApplication
    {
        /// <summary>
        /// 不是每次请求都调用
        /// 在Web应用程序的生命周期里就执行一次
        /// 网站启动的时候会被调用，适合处理应用程序范围的初始化代码
        /// </summary>
        protected void Application_Start(object sender, EventArgs e)
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在应用程序关闭时运行的代码，在最后一个HttpApplication销毁之后执行
        /// 比如IIS重启，文件更新，进程回收导致应用程序转换到另一个应用程序域
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_End(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 会话开始时执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Session_Start(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 会话结束或过期时执行
        /// 不管在代码中显式的清空Session或者Session超时自动过期，此方法都将被调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Session_End(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在每一个HttpApplication实例初始化的时候执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Init(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在应用程序被关闭一段时间之后，在.net垃圾回收器准备回收它占用的内存的时候被调用。
        /// 在每一个HttpApplication实例被销毁之前执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Disposed(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 所有没有处理的错误都会导致这个方法的执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Error(object sender, EventArgs e)
        {
            Exception lastError = Server.GetLastError();
            if (lastError != null)
            {
                //异常信息
                string strExceptionMessage = string.Empty;

                //对HTTP 404做额外处理，其他错误全部当成500服务器错误
                HttpException httpError = lastError as HttpException;
                if (httpError != null)
                {
                    //获取错误代码
                    int httpCode = httpError.GetHttpCode();
                    strExceptionMessage = httpError.Message;
                    if (httpCode == 400 || httpCode == 404)
                    {
                        Response.StatusCode = 404;
                        //跳转到指定的静态404信息页面，根据需求自己更改URL
                        Response.WriteFile("~/Views/HttpError/404.html");
                        Server.ClearError();
                        return;
                    }
                }

                strExceptionMessage = lastError.Message;

                /*-----------------------------------------------------
                 * 此处代码可根据需求进行日志记录，或者处理其他业务流程
                 * ---------------------------------------------------*/

                /*
                 * 跳转到指定的http 500错误信息页面
                 * 跳转到静态页面一定要用Response.WriteFile方法                 
                 */
                Response.StatusCode = 500;
                Response.WriteFile("~/Views/HttpError/500.html");

                //一定要调用Server.ClearError()否则会触发错误详情页（就是黄页）
                Server.ClearError();
            }
        }

        #region 每次请求都会按照顺序执行以下事件
        /// <summary>
        /// 每次请求时第一个出发的事件，这个方法第一个执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_BeginRequest(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 在执行验证前发生，这是创建验证逻辑的起点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_AuthenticateRequest(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 当安全模块已经验证了当前用户的授权时执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_AuthorizeRequest(object sender, EventArgs e)
        {
        }<commit_msg>代码region区域<commit_after>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace CoSales
{
    public class MvcApplication : System.Web.HttpApplication
    {
        #region 应用程序级别
        /// <summary>
        /// 不是每次请求都调用
        /// 在Web应用程序的生命周期里就执行一次
        /// 网站启动的时候会被调用，适合处理应用程序范围的初始化代码
        /// </summary>
        protected void Application_Start(object sender, EventArgs e)
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在应用程序关闭时运行的代码，在最后一个HttpApplication销毁之后执行
        /// 比如IIS重启，文件更新，进程回收导致应用程序转换到另一个应用程序域
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_End(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 会话开始时执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Session_Start(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 会话结束或过期时执行
        /// 不管在代码中显式的清空Session或者Session超时自动过期，此方法都将被调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Session_End(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在每一个HttpApplication实例初始化的时候执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Init(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 在应用程序被关闭一段时间之后，在.net垃圾回收器准备回收它占用的内存的时候被调用。
        /// 在每一个HttpApplication实例被销毁之前执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Disposed(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 不是每次请求都调用
        /// 所有没有处理的错误都会导致这个方法的执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_Error(object sender, EventArgs e)
        {
            Exception lastError = Server.GetLastError();
            if (lastError != null)
            {
                //异常信息
                string strExceptionMessage = string.Empty;

                //对HTTP 404做额外处理，其他错误全部当成500服务器错误
                HttpException httpError = lastError as HttpException;
                if (httpError != null)
                {
                    //获取错误代码
                    int httpCode = httpError.GetHttpCode();
                    strExceptionMessage = httpError.Message;
                    if (httpCode == 400 || httpCode == 404)
                    {
                        Response.StatusCode = 404;
                        //跳转到指定的静态404信息页面，根据需求自己更改URL
                        Response.WriteFile("~/Views/HttpError/404.html");
                        Server.ClearError();
                        return;
                    }
                }

                strExceptionMessage = lastError.Message;

                /*-----------------------------------------------------
                 * 此处代码可根据需求进行日志记录，或者处理其他业务流程
                 * ---------------------------------------------------*/

                /*
                 * 跳转到指定的http 500错误信息页面
                 * 跳转到静态页面一定要用Response.WriteFile方法                 
                 */
                Response.StatusCode = 500;
                Response.WriteFile("~/Views/HttpError/500.html");

                //一定要调用Server.ClearError()否则会触发错误详情页（就是黄页）
                Server.ClearError();
            }
        }
        #endregion

        #region 每次请求都会按照顺序执行以下事件
        /// <summary>
        /// 每次请求时第一个出发的事件，这个方法第一个执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_BeginRequest(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 在执行验证前发生，这是创建验证逻辑的起点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_AuthenticateRequest(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// 当安全模块已经验证了当前用户的授权时执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_AuthorizeRequest(object sender, EventArgs e)
        {
        }
{'fraction_non_alphanumeric': 0.1474894263095109, 'fraction_numerical': 0.0065068864548313635, 'mean_word_length': 1.243795620437956, 'pattern_counts': {'":': 0, '<': 115, '<?xml version=': 0, '>': 115, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4810198', 'n_tokens_mistral': 3088, 'n_tokens_neox': 3227, 'n_words': 399}