当前位置: 首页 > news >正文

企业门户网站建设渠道/种子库

企业门户网站建设渠道,种子库,济宁哪家网站建设公司正规,租房注册公司需要什么资料要解决这个问题,我们需要先了解ASP.NET应用程序的生命周期,先看下面作者整理的一张图片:从图中我们可以清楚的看到:通用IIS访问应用程序时,每次的单个页面URL访问时,都会先经过HttpApplication 管线处理请求…

要解决这个问题,我们需要先了解ASP.NET应用程序的生命周期,先看下面作者整理的一张图片:

20111222215426971.jpg

从图中我们可以清楚的看到:通用IIS访问应用程序时,每次的单个页面URL访问时,都会先经过HttpApplication 管线处理请求,走过BeginRequest 事件之后才会去走路由访问具体的Controller和Action,最后结束的时候会请求EndRequest事件。下面用一张图来表示这个顺序:

20111222215426248.png

注意图中标示的红色部分就是我们要实现的部分,实现如下:

1 新建MyHandler.cs

public class MyHandler:IHttpModule

{

public void Init(HttpApplication application)

{

application.BeginRequest +=

(new EventHandler(this.Application_BeginRequest));

application.EndRequest +=

(new EventHandler(this.Application_EndRequest));

}

private void Application_BeginRequest(Object source,

EventArgs e)

{

// Create HttpApplication and HttpContext objects to access

// request and response properties.

HttpApplication application = (HttpApplication)source;

HttpContext context = application.Context;

string filePath = context.Request.FilePath;

string fileExtension =

VirtualPathUtility.GetExtension(filePath);

if (fileExtension.Equals(".html"))

{

context.Response.WriteFile(context.Server.MapPath(filePath));//直接走静态页面

//此处可以加入缓存,条件也可以根据需要来自己定义

context.Response.End();

}

}

private void Application_EndRequest(Object source, EventArgs e)

{

HttpApplication application = (HttpApplication)source;

HttpContext context = application.Context;

string filePath = context.Request.FilePath;

string fileExtension =

VirtualPathUtility.GetExtension(filePath);

if (fileExtension.Equals(".html"))

{

context.Response.Write("


" +

"HelloWorldModule: End of Request

");

}

}

public void Dispose() { }

}

2. web.config中加入以下代码,才会运行自定义的管道处理类

运行一下自己的代码,看看效果你就全明白了!

补充:根据@小尾鱼的提示,如果直接在自己的项目文件下生产了和URL中一样的目录文件,比如访问:yourdomin.com/product/1.html,你的项目文件夹下真的存在product/1.html这个路径,那么IIS会直接去请求这个静态页面,如果项目中使用了自定义的管道处理程序,那么这个静态页仍然会走我们的自定义管道处理程序,我们可以在这里通过缓存来实现要不要重新成长静态页或删除过期产品的静态页,如果不使用此方法,只能去写执行计划,定时跑这些静态文件了,修改Application_BeginRequest

private void Application_BeginRequest(Object source,

EventArgs e)

{

// Create HttpApplication and HttpContext objects to access

// request and response properties.

HttpApplication application = (HttpApplication)source;

HttpContext context = application.Context;

string filePath = context.Request.FilePath;

string fileExtension =

VirtualPathUtility.GetExtension(filePath);

if (fileExtension.Equals(".html"))

{

//判断缓存是否存在,不存在加入缓存,调用生成静态的类和方法

//产品过期,移除静态文件,302重定向

if (System.IO.File.Exists(context.Server.MapPath(filePath)))

{

context.Response.WriteFile(context.Server.MapPath(filePath));

context.Response.End();

}

}

思路大体如此。

http://www.lbrq.cn/news/805951.html

相关文章:

  • wordpress登录页美化/青岛seo网站管理
  • 小说网站怎么做用户画像/网页百度
  • 北京P2P公司网站建设/淘宝指数查询工具
  • 开发网站有什么用/seo外链购买
  • 阿里云服务器做电影网站/佛山网站开发公司
  • 昆明cms模板建站/百度手机助手app安卓版官方下载
  • 信息科技有限公司网站建设/商品热搜词排行榜
  • 建设英文品牌网站/域名注册需要什么条件
  • 如何删除wordpress文件夹/宁波seo网页怎么优化
  • 番禺互联网公司/网站免费优化
  • 模板做网站上传/百度站长快速收录
  • 外贸网站建设升上去/广告代发平台
  • 常州做网站哪里好/郑州seo外包顾问
  • 做物流的网站有哪些/重庆seo培训
  • 深圳设计研究院总院/无锡seo
  • 装潢公司企业网站源码/seo关键词排名怎么提升
  • 高清免费素材网站/磁力链bt磁力天堂
  • 成都制作网站工作室/自媒体发布软件app
  • 具体的网站建设方案/百度快照优化排名推广怎么做
  • 外贸电商网站建设/qq群推广方法
  • 扫描二维码进入公司网站怎样做/阿里云com域名注册
  • 潍坊网站建设外包/旺道seo推广
  • 类似一起做网店的网站/舆情系统
  • 成都响应式网站建/品牌推广的渠道有哪些
  • 产品做网站推广/seo查询排名软件
  • 网站建设接私单/哪些平台可以免费推广
  • 网站开发工程师学什么语言/产品推广文案范例
  • 百度做网站的费用/营销qq下载
  • 长宁区网站建设网/站长工具高清吗
  • 做的网站在ie会乱码/网络广告策划案
  • 查看主板信息的3种方法
  • 每日面试题18:基本数据类型和引用数据类型的区别
  • 在SQL SERVER 中,用SSMS 实现存储过程的每日自动调用
  • 电子电气架构 --- 加速48V技术应用的平衡之道
  • 外卖“0元购”退场后,即时零售大战才刚开始
  • 前端渲染三国杀:SSR、SPA、SSG