zoukankan      html  css  js  c++  java
  • ASP.NET全局应用程序类

    ASP.NET全局应用程序类

    引自老Man的博客http://shijiaqi1066.iteye.com/blog/1728603
    这个保存到自己的博客里边方便以后学习查看

    全局文件

    新建全局文件

    Visual Studio 【添加新项】-->【Web】-->【全局应用程序类】

    产生Global类。

    一个webapplication只能有一个全局应用程序类。如果新建的是否发现没有【全局应用程序类】,则表示已经该类已经存在,如果需要新建,则先删除旧的,再创建。

    Global类:

    C#代码  收藏代码
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.Linq;  
    4. using System.Web;  
    5. using System.Web.Security;  
    6. using System.Web.SessionState;  
    7.   
    8. namespace WebApplication1  
    9. {  
    10.     public class Global : System.Web.HttpApplication  
    11.     {  
    12.   
    13.         protected void Application_Start(object sender, EventArgs e)  
    14.         {  
    15.             // 在应用程序启动时运行的代码。  
    16.             // 程序第一次获得请求时,该方法被执行。  
    17.   
    18.         }  
    19.   
    20.         protected void Session_Start(object sender, EventArgs e)  
    21.         {  
    22.             // 在新会话启动时运行的代码。  
    23.             // 该方法被调用,表示当前有一个新的会话产生了。  
    24.         }  
    25.   
    26.         protected void Application_BeginRequest(object sender, EventArgs e)  
    27.         {  
    28.             // 在新请求启动时允许的代码。  
    29.             // 每一次请求都会触发该方法。  
    30.         }  
    31.   
    32.         protected void Application_AuthenticateRequest(object sender, EventArgs e)  
    33.         {  
    34.             // 在应用程序启动时运行的代码。  
    35.             // 程序第一次获得请求时,该方法被执行。  
    36.         }  
    37.   
    38.         protected void Application_Error(object sender, EventArgs e)  
    39.         {  
    40.             // 在出现未处理的错误时运行的代码  
    41.             // 获取异常信息并处理:HttpContext.Current.Server.GetLastError();  
    42.         }  
    43.   
    44.         protected void Session_End(object sender, EventArgs e)  
    45.         {  
    46.             // 在会话结束时运行的代码。   
    47.             // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为InProc 时,才会引发 Session_End 事件。  
    48.             // 如果会话模式设置为 StateServer  或 SQLServer,则不会引发该事件。  
    49.         }  
    50.   
    51.         protected void Application_End(object sender, EventArgs e)  
    52.         {  
    53.             //  在应用程序关闭时运行的代码  
    54.         }  
    55.     }  
    56. }  

    应用:

    Session_Start()方法:统计在线人数。

    Application_BeginRequest()方法:屏蔽IP,防止盗链。对所以图片加水印。

    Application_AuthenticateRequest()方法:验证方法。

    Application_Error()方法:

    补充:

    1.取得当前请求url:HttpContext.Current.Request.Url

    2.手动注销Session:HttpContext.Current.Session.Abandon()

    3.向文件添加文本信息,若文件不存在,则先创建:File.AppendAllText("c:1.txt",DateTime.Now.ToString())

    4.取得访问网站的请求的ip:HttpContext.Current.Request.UserHostAddress;

    5.向页面打印输出:HttpContext.Current.Request.Write("已被屏蔽!");

    6.打印输出结束要调用:HttpContext.Current.Request.End();

    7.取得请求类型:HttpContext.Current.Request.ContentType

    8.获取客户端上次请求的url信息:HttpContext.Current.Request.UrlReferrer;   (说明:该属性是Uri类的实例。)

    9.获取uri对象的域名:uri.Host;

    (获取客户端上次请求的url的域名:HttpContext.Current.Request.UrlReferrer.Host;)

    10.获取异常信息:HttpContext.Current.Server.GetLastError();

  • 相关阅读:
    DP大作战—状态压缩dp
    DP大作战—组合背包
    DP大作战——多重背包
    单链表的使用——计算多项式加法
    单链表逆置
    钢条切割问题
    哈夫曼树及解码
    双“11”的抉择
    矩阵链相乘助教版代码
    abs()函数的返回值问题
  • 原文地址:https://www.cnblogs.com/nearpengju123/p/3956726.html
Copyright © 2011-2022 走看看