WebApi 全局变量 Global.asax 文件

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace AAAAAA.WebAPI
{
    /// <summary>
    /// WebApi全局设置
    /// </summary>
    public class WebApiApplication : System.Web.HttpApplication
    {
        /// <summary>
        ///  第一个访问网站的用户会触发该方法. 通常会在该方法里定义一些系统变量
        ///  如聊天室的在线总人数统计,历史访问人数统计的初始化等等均可在这里定义.
        /// </summary>
        protected void Application_Start()
        {
            
        }

        /// <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)
        {
            string IP = this.Context.Request.UserHostAddress;
            Session["IP"] = IP;
        }

        /// <summary>
        /// 使用了session.abandon(),或session超时用户退出后均可触发.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Session_End(object sender, EventArgs e)
        {
            // Session["User"]; 向数据库中记录用户退出时间
        }
        /// <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)
        {
            #region 记录错误日志
            //Exception ex = Server.GetLastError().GetBaseException();
            //StringBuilder str = new StringBuilder();
            //str.Append("\r\n" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss"));
            //str.Append("\r\n.客户信息:");


            //string ip = "";
            //if (Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR") != null)
            //{
            //    ip = Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR").ToString().Trim();
            //}
            //else
            //{
            //    ip = Request.ServerVariables.Get("Remote_Addr").ToString().Trim();
            //}
            //str.Append("\r\n\tIp:" + ip);
            //str.Append("\r\n\t浏览器:" + Request.Browser.Browser.ToString());
            //str.Append("\r\n\t浏览器版本:" + Request.Browser.MajorVersion.ToString());
            //str.Append("\r\n\t操作系统:" + Request.Browser.Platform.ToString());
            //str.Append("\r\n.错误信息:");
            //str.Append("\r\n\t页面:" + Request.Url.ToString());
            //str.Append("\r\n\t错误信息:" + ex.Message);
            //str.Append("\r\n\t错误源:" + ex.Source);
            //str.Append("\r\n\t异常方法:" + ex.TargetSite);
            //str.Append("\r\n\t堆栈信息:" + ex.StackTrace);
            //str.Append("\r\n--------------------------------------------------------------------------------------------------");
            创建路径 
            //string upLoadPath = Server.MapPath("~/Logs/");
            //if (!System.IO.Directory.Exists(upLoadPath))
            //{
            //    System.IO.Directory.CreateDirectory(upLoadPath);
            //}
            创建文件 写入错误 
            //System.IO.File.AppendAllText(upLoadPath + DateTime.Now.ToString("yyyy.MM.dd") + ".log", str.ToString(), System.Text.Encoding.UTF8);
            处理完及时清理异常 
            //Server.ClearError();
            跳转至出错页面 
            //Response.Redirect("Error.html");
            #endregion
        }


        /// <summary>
        /// //每次请求时第一个出发的事件,这个方法第一个执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_BeginRequest(object sender, EventArgs e)
        {
            var url =Request.Url.ToString();

        }

        /// <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)
        {
            
        }

        /// <summary>
        /// 当ASP.NET完成授权事件以使缓存模块从缓存中为请求提供服务时发生,从而跳过处理程序(页面或者是WebService)的执行。
        ///这样做可以改善网站的性能,这个事件还可以用来判断正文是不是从Cache中得到的。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_ResolveRequestCache(object sender, EventArgs e)
        {
            
        }

        /// <summary>
        /// 读取了Session所需的特定信息并且在把这些信息填充到Session之前执行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_AcquireRequestState(object sender, EventArgs e)
        {
           
        }

        /// <summary>
        /// 在合适的处理程序执行请求前调用
        ///这个时候,Session就可以用了
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_PreRequestHandlerExecute(object sender, EventArgs e)
        {
           
        }


        /// <summary>
        ///当处理程序完成对请求的处理后被调用。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_PostRequestHandlerExecute(object sender, EventArgs e)
        {
            
        }

        /// <summary>
        /// 释放请求状态
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_ReleaseRequestState(object sender, EventArgs e)
        {
           
        }

        /// <summary>
        /// 为了后续的请求,更新响应缓存时被调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_UpdateRequestCache(object sender, EventArgs e)
        {
            
        }

        /// <summary>
        /// EndRequest是在响应Request时最后一个触发的事件
        ///但在对象被释放或者从新建立以前,适合在这个时候清理代码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_EndRequest(object sender, EventArgs e)
        {
            
        }

        /// <summary>
        /// 向客户端发送Http标头之前被调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_PreSendRequestHeaders(object sender, EventArgs e)
        {
            
        }

        /// <summary>
        /// 向客户端发送Http正文之前被调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Application_PreSendRequestContent(object sender, EventArgs e)
        {
            
        }
    }
}

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值