Global.asax文件—ASP.NET细枝末节(1)
2018-06-22 06:43:26来源:未知 阅读 ()
说明
Global的解释是全局的、全球的。
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。
Global.asax使用频率不是特别高,属于细枝末节的小知识点。不说了,来我们一起研究一下这个东西吧。
创建和预览
1.添加
同web.config一样,通常情况下Global.asax文件名是固定的。如果您没有非得要改名的理由,不建议您修改。
你改了,系统不懂了。(这句话用《从前慢》的曲子唱!)
2.看看里面写了什么
把网站信息记录在txt文件中
1.把各种应用启动信息写入日志文件中(就是一个txt)
1 public class Global : System.Web.HttpApplication 2 { 3 //自从服务器启动起来,网站第一次被访问的时候Application_Start执行 4 protected void Application_Start(object sender, EventArgs e) 5 { 6 File.AppendAllText("d:\\1.txt", DateTime.Now+"Application_Start\r\n"); 7 } 8 9 //Session启动时 10 protected void Session_Start(object sender, EventArgs e) 11 { 12 File.AppendAllText("d:\\1.txt", DateTime.Now + "Session_Start\r\n"); 13 } 14 15 //当一个请求过来的时候 16 //html等静态文件是iis直接把文件给到浏览器,不经过asp.net引擎的处理。 17 //所以不会调用Application_BeginRequest方法 18 protected void Application_BeginRequest(object sender, EventArgs e) 19 { 20 //即使用户访问一个不存在的页面,那么Application_BeginRequest也会被调用 21 22 File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_BeginRequest:"+ 23 Context.Request.RawUrl + "\r\n"); 24 } 25 26 protected void Application_AuthenticateRequest(object sender, EventArgs e) 27 { 28 29 } 30 31 //程序中发生未处理异常 32 protected void Application_Error(object sender, EventArgs e) 33 { 34 File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_Error:"+ 35 Context.Error + "\r\n"); 36 } 37 38 //(*)Session过期(只有进程内Session,也就是InProc过期的时候才会调用Session_End) 39 protected void Session_End(object sender, EventArgs e) 40 { 41 File.AppendAllText("d:\\1.txt", DateTime.Now + "Session_End\r\n"); 42 } 43 44 protected void Application_End(object sender, EventArgs e) 45 { 46 File.AppendAllText("d:\\1.txt", DateTime.Now + "Application_End\r\n"); 47 } 48 }
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 做人数统计。
别搭理他。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C#零基础入门03:打老鼠初级
下一篇:一步步实现自己的ORM(二)
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash