说明

Global的解释是全局的、全球的。

Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。

Global.asax使用频率不是特别高,属于细枝末节的小知识点。不说了,来我们一起研究一下这个东西吧。

创建和预览

1.添加

同web.config一样,通常情况下Global.asax文件名是固定的。如果您没有非得要改名的理由,不建议您修改。

你改了,系统不懂了。(这句话用《从前慢》的曲子唱!)

2.看看里面写了什么

把网站信息记录在txt文件中

1.把各种应用启动信息写入日志文件中(就是一个txt)

 public class Global : System.Web.HttpApplication
{
//自从服务器启动起来,网站第一次被访问的时候Application_Start执行
protected void Application_Start(object sender, EventArgs e)
{
File.AppendAllText("d:\\1.txt", DateTime.Now+"Application_Start\r\n");
} //Session启动时
protected void Session_Start(object sender, EventArgs e)
{
File.AppendAllText("d:\\1.txt", DateTime.Now + "Session_Start\r\n");
} //当一个请求过来的时候
//html等静态文件是iis直接把文件给到浏览器,不经过asp.net引擎的处理。
//所以不会调用Application_BeginRequest方法
protected void Application_BeginRequest(object sender, EventArgs e)
{
//即使用户访问一个不存在的页面,那么Application_BeginRequest也会被调用 File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_BeginRequest:"+
Context.Request.RawUrl + "\r\n");
} protected void Application_AuthenticateRequest(object sender, EventArgs e)
{ } //程序中发生未处理异常
protected void Application_Error(object sender, EventArgs e)
{
File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_Error:"+
Context.Error + "\r\n");
} //(*)Session过期(只有进程内Session,也就是InProc过期的时候才会调用Session_End)
protected void Session_End(object sender, EventArgs e)
{
File.AppendAllText("d:\\1.txt", DateTime.Now + "Session_End\r\n");
} protected void Application_End(object sender, EventArgs e)
{
File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_End\r\n");
}
}

UrlRewrite(URL重写)

1.UrlRewrite啥意思?

啥叫URL重写,简单说举个例子,

例如http:// www.a.com/viewPerson.aspx

这个页面可以接受一个请求参数   id。

请求时,就可能出现这样的网址。

http:// www.a.com/viewPerson.aspx?id=11

http:// www.a.com/viewPerson.aspx?id=12

..............

URL重写后

http:// www.a.com/viewPerson-11.aspx

http:// www.a.com/viewPerson-12.aspx

这样的网址,就和上面带请求参数的网址 一致了。

注意不是 http:// www.a.com/viewPerson-11.aspx取代了http:// www.a.com/viewPerson.aspx?id=11,

而是http:// www.a.com/viewPerson.aspx-11.aspx会指向http:// www.a.com/viewPerson.aspx?id=11。

2.URL重写的好处

URL重写可以让自己的网址变得更“漂亮”,消除掉又长的、又乱的请求参数的影响。

当然这些只是强迫症的心里。

URL重写最关键的意义在于SEO方面。

3.思路

每次浏览器访问网站的时候,都会触发Application_BeginRequest这个方法。

即使用户访问一个不存在的页面,那么Application_BeginRequest也会被调用 。

所以我们如果想做URL重写的话,在这个方法里操作就好了。

4.做法

protected void Application_BeginRequest(object sender, EventArgs e)

{

//Url重写:UrlRewrite。ViewPerson-1.aspx

Match match = Regex.Match(Context.Request.Path, @"^/ViewPerson\-(\d+)\.aspx$");

if (match.Success)

{

string id = match.Groups[1].Value;

Context.RewritePath("/ViewPerson.aspx?id="+id);

}

}

结尾

还有一些教材,用Application_Start 做人数统计。

别搭理他。

Global.asax文件—ASP.NET细枝末节(1)的更多相关文章

  1. ASP.NET MVC中的Global.asax文件

    1.global.asax文件概述 global.asax这个文件包含全局应用程序事件的事件处理程序.它响应应用程序级别和会话级别事件的代码. 运行时, Global.asax 将被编译成一个动态生成 ...

  2. ASP.NET中Global.asax 文件是什么?

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

  3. Asp.net MVC Global.asax文件

    global.asax文件概述 global.asax这个文件包含全局应用程序事件的事件处理程序.它响应应用程序级别和会话级别事件的代码. 运行时, Global.asax 将被编译成一个动态生成的 ...

  4. asp.net 获取网站根目录总结 Global.asax文件里获取获取网站根目录

    1:  获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"])Server.MapPath(&qu ...

  5. .net Global.asax文件使用

    一.Application_start: 第一个访问网站的用户会触发该方法. 通常会在该方法里定义一些系统变量,如聊天室的在线总人数统计,历史访问人数统计的初始化等等均可在这里定义. Applicat ...

  6. Global.asax文件说明

    Global.asax是我们的底层文件,第一次的IIS请求都会先去执行它里面的文件,所以学会它里面的函数是非常有必要的.而且我们总是忽略这里的知识点,总觉得这是不必须的,其实我们错了,这里才是程序的根 ...

  7. Global.asax 文件是什么

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

  8. 转Global.asax文件

    Global.asax 文件是什么   Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序 ...

  9. Global.asax 文件是什么(转)

    原文链接:http://www.cnblogs.com/I-am-Betty/archive/2010/09/06/1819558.html MSDN :https://msdn.microsoft. ...

随机推荐

  1. Docker 安装与常用命令介绍

    docker的镜像文件作用就是:提供container运行的文件系统层级关系(基于AUFS实现),所依赖的库文件.已经配置文件等等. 安装docker yum install -y docker 启动 ...

  2. 找xpath好用的工具(比较少用,针对只能在IE上打开的网站)

    有一些网站只能在IE浏览器里打开,不像firefox那样有好多好用的插件来找元素的xpath,css path等. 当然现在IE也可以,F12出现像firebug那样的窗口,来查看元素. 这里呢在介绍 ...

  3. 设计模式PHP篇(三)————适配器模式

    简单的适配器模式: interface Adaptor { public function read(); public function write(); } class File implemen ...

  4. c 结构体读取与保存

    1.结构体保存到文本 #include <stdio.h> #include <stdlib.h> #include <string.h> #define max ...

  5. javascript之彻底理解valueOf, toString

    参与运算的都是简单类型(一般就字符串和数字), 复杂类型是不参与运算的. ***当对象(非简单类型)用作键时,会先调用toString()方法把对象转化成字符串 var a = {},     b = ...

  6. BZOJ 2467 生成树(组合数学)

    题意:求n-五边形的生成树个数. 结论题,答案为4*n*5^(n-1). 首先中心的n边形一定需要切掉一个边,C(1,n). 然后每个五边形都切一个边,C(1,4)*5^(n-1). 于是答案就是4* ...

  7. Golang的第一个程序-Hello, World !

    安装Golang: 1. 下载安装包 https://golang.google.cn/dl/ 我这里使用压缩包,下载后解压到D盘(自定义). 2. 添加环境变量:把解压后的bin目录添加到环境变量中 ...

  8. WildFly8(JBoss)默认web服务器-------Undertow

    Java微服务框架之Undertow 一.Undertow简介: Undertow 是红帽公司(RedHat)的开源产品,是 WildFly8(JBoos) 默认的 Web 服务器. 官网API给出一 ...

  9. 使图片相对于上层DIV始终水平、垂直都居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. SCWS中文分词,词典词性标注详解

    SCWS中文分词词典条目多达26万条之巨,在整理的时候已经把很多明显不对的标注或词条清理了 ---- 附北大词性标注版本 ----Ag 形语素 形容词性语素.形容词代码为a,语素代码g前面置以A. a ...