asp.net应用程序html化的一个想法
来源:互联网 发布:明星到底有多有钱知乎 编辑:程序博客网 时间:2024/05/29 11:16
======================================================
注:本文源代码点此下载
======================================================
稍大型的网站都会将asp.net的页面缓存起来,用户访问时首先检查对应的html文件是否存在,不存在时才去生成一次。或干脆只将asp.net作为后台程序,在后台程序生成的整站的html文件,网站只以html的形式提供给浏览者。后者自成系统,效率比前者好,但比前者要复杂多了,并不是我能三语两言能说的;我只想,前者有没有简便一些的asp.net程序html化的方式呢?
为一个asp.net程序添加一个httpmodule,做了一个小尝试
httpmodules>
add name="myhtmlmodule" type="modulelib.myhtmlmodule, modulelib" />
httpmodules>
myhtmlmodule.cs很简单,他实现ihttpmodule接口
public void init(httpapplication context)
{
// todo:添加 htmlmodule.init 实现
context.beginrequest+=new eventhandler(context_beginrequest);
}
private void context_beginrequest(object sender, eventargs e)
{
httpapplication application = (httpapplication)sender;
httpcontext context = application.context;
switch(context.request.path)
{
case "/httpmoduletest/htmlpage.aspx?page=1":
context.rewritepath("htmlpage_page_1.htm");
break;
case "/httpmoduletest/htmlpage.aspx?page=2":
context.rewritepath("htmlpage_page_2.htm");
break;
}
}
上面的context_beginrequest方法是很笨的,只是为了测试,实际中用正则表达式把aspxhtml的命名对应起来就简单了。
测试基本上证明想法是行得通的。测试项目中的“htmlpage.aspx”始终没有得到执行的机会,而2个html也如期的出现在ie上。
那么在实际应用时,使用正则表达式获取对应的html文件名,检测html是否存在,不存在,访问aspx文件并保存其生成的内容。存在当然就好办了,直接rewritepath(html)。
效率自然无法跟asp.net生成的纯html网站比。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
- asp.net应用程序html化的一个想法
- 黑马程序员-有关winform、asp.net、控制台应用程序的一些想法
- 关于ASP.net页面的想法
- 关于asp.net的一些零碎想法
- ASP.NET IHttpAsyncHandler的一点想法
- 一个简单的用ASP.NET/C#开发的组件化Web应用程序(附源代码)
- ASP.NET生成HTML静态页的一个类
- asp.net 4中的HTML过滤的一个新特性
- C# Builder建一个ASP.NET应用程序
- ASP.NET应用程序的生命周期
- ASP.NET 应用程序的安全
- ASP.NET应用程序的生命周期
- 关于asp.net服务器控件的一些想法
- 对于ASP.NET与J2EE框架的一点想法
- 在没有安装ASP.NET MVC 3的web服务器上运行一个ASP.NET MVC 3应用程序
- ASP.NET网站与ASP.NET应用程序的区别
- Asp.net应用程序跟ASP.net网站的区别
- ASP.NET Web应用程序和ASP.NET网站的区别
- 在Delphi 7中使用加密的SQLite
- AJAX在IE7下传回的数据页面无法显示,IE8下就没有问题
- 安装AJAX组件出现问题
- 理解Javascript_03_javascript全局观
- 简单的ajax实现
- asp.net应用程序html化的一个想法
- HTML页面加载和解析流程
- 我以前写的一些delphi程序原代码
- 关于html中的wbr
- DELPHI学习---简单类型
- 多态在 Java 和 C++ 编程语言中的实现比较
- 喜欢Delphi习惯的有福了
- [转]DELPHI警告错误提示
- Ajax框架介绍