Visual studio 2005 静态页面生成法助E8.Net工作流应用系统提升性能(E8.Net工作流应用系统优化系列二)
2008年工作流应用已经成为了一种趋势,一种必然,不仅仅只是工作流引擎的特性,更重要的是帮助企业建立一种协同、跟踪、监督、分析、完善新的管理软件模式,是新一代管理软件的必要特性。
虽然工作流应用
Visual studio 2005众多优化的价值非常明显,但需要工作流应用特性的常常会是大型系统,用户数量多,处理业务繁忙,因为是数据库应用系统,必然对数据库处理能力和WEB应用程序计算能力带来巨大的挑战。技术给完全开源架构的E8.Net工作流应用系统带来了非常多的机会和方法。
本文描述的是通过重载OnInit和Render实现的静态页面生成法。
很多流程模型在下列情况下是不会有表现层差异和客户端服务器交互的,比如:流程实例结束,无回访操作,无特殊权限控制。此时系统打开流程处理情况,可以采用静态页面生成法,减少系统交互,提升性能。
范例代码:
方法:重载OnInit和Render
private string FileName;
protected void Page_Load(object sender, EventArgs e)
{
this.litInfo.Text = System.DateTime.Now.ToString();
}
protected override void OnInit(EventArgs e)
{
this.FileName = "~/Cache/StaticPage/StaticPage.htm";
if (File.Exists(Server.MapPath(FileName))) Server.Transfer(this.FileName);
}
protected override void Render(HtmlTextWriter writer)
{
StringWriter html = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw);
StreamWriter sw = new StreamWriter(Server.MapPath(this.FileName), false, System.Text.Encoding.UTF8);
sw.Write(html.ToString());
sw.Flush();
sw.Close();
tw.Close();
Response.Write(html.ToString());
}
protected void Page_Load(object sender, EventArgs e)
{
this.litInfo.Text = System.DateTime.Now.ToString();
}
protected override void OnInit(EventArgs e)
{
this.FileName = "~/Cache/StaticPage/StaticPage.htm";
if (File.Exists(Server.MapPath(FileName))) Server.Transfer(this.FileName);
}
protected override void Render(HtmlTextWriter writer)
{
StringWriter html = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw);
StreamWriter sw = new StreamWriter(Server.MapPath(this.FileName), false, System.Text.Encoding.UTF8);
sw.Write(html.ToString());
sw.Flush();
sw.Close();
tw.Close();
Response.Write(html.ToString());
}
E8.Net工作流平台为.Net企业应用开发提供了一个起点。E8.Net工作流提升企业战略执行力,欢迎访问: http://www.feifanit.com.cn/productFlow.htm
QQ群: 48132184 53284682