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();

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。