NET生成静态页面实现方法

Silvaco TCAD仿真例库——肖特基二极管反向击穿特性(案例) 本文详细介绍了使用Silvaco TCAD仿真例库分析肖特基二极管反向击穿特性的完整流程。通过搭建带保护环的器件结构,配置关键物理模型,并执行反向偏压扫描,深入探讨了雪崩击穿机制、电场分布及设计参数(如漂移区浓度、保护环)对击穿电压的影响,为功率半导体设计与可靠性分析提供了实用的虚拟实验方法。 阅读详情
ASP.NET生成静态页面实现方法
<!--Main.Aspx-->
<%@ page language="C#" %> 
<%@ import namespace=System.IO %> 
<script runat="server"> 
protected override void OnInit (EventArgs e) 
{ 
  
int id; 
  
try 
  
{ 
    id 
= int.Parse (Request.QueryString["id"]); 
  }
 
  
catch 
  
{ 
    
throw (new Exception ("页面没有指定id")); 
  }
 
  
  
string filename=Server.MapPath("statichtml_"+id+".html"); 
  
  
//尝试读取已有文件 
  Stream s = GetFileStream (filename); 
  
if (s != null)//如果文件存在并且读取成功 
  { 
    
using (s) 
    
{ 
      Stream2Stream (s, Response.OutputStream); 
      Response.End (); 
    }
 
  }
 
  
  
  
//调用Main_Execute,并且获取其输出 
  StringWriter sw = new StringWriter (); 
  Server.Execute (
"Main_Execute.aspx", sw); 
  
  
string content = sw.ToString (); 
  
  
//输出到客户端 
  Response.Write(content); 
  Response.Flush(); 
  
  
//写进文件 
  
  
try 
  
{ 
    
using (FileStream fs = new FileStream (filename, FileMode.Create, FileAccess.Write, FileShare.Write)) 
    
{ 
      
using (StreamWriter streamwriter = new StreamWriter (fs, Response.ContentEncoding)) 
      
{ 
        streamwriter.Write (content); 
      }
 
    }
 
  }
 
  
finally 
  
{ 
    
//Response.End (); 
  }
 
}
 
static public void Stream2Stream (Stream src, Stream dst) 
{ 
  
byte[] buf = new byte[4096]; 
  
while (true) 
  
{ 
    
int c = src.Read (buf, 0, buf.Length); 
    
if(c==0) 
      
return; 
    dst.Write (buf, 
0, c); 
  }
 
}
 
public Stream GetFileStream(string filename) 
{ 
  
try 
  
{ 
    DateTime dt 
= File.GetLastWriteTime (filename); 
    TimeSpan ts
=dt - DateTime.Now; 
    
if(ts.TotalHours>1) 
      
return null;    //1小时后过期 
    return new FileStream (filename, FileMode.Open, FileAccess.Read, FileShare.Read); 
  }
 
  
catch 
  
{ 
    
return null; 
  }
 
}
 
</script> 

<!--Main_Execute.aspx--> 
<%@ page language="C#" %> 
<html> 
<head runat="server"> 
  
<title>Untitled Page</title> 
</head> 
<body> 
ID: 
<%=Request.QueryString["id"]%> 
</body> 
</html> 
  
<!--Main.Aspx--> 
<%@ page language="C#" %> 
<%@ import namespace=System.IO %> 
<script runat="server"> 
protected override void OnInit (EventArgs e) 
{ 
  
int id; 
  
try 
  
{ 
    id 
= int.Parse (Request.QueryString["id"]); 
  }
 
  
catch 
  
{ 
    
throw (new Exception ("页面没有指定id")); 
  }
 
  
  
string filename=Server.MapPath("statichtml_"+id+".html"); 
  
  
//尝试读取已有文件 
  Stream s = GetFileStream (filename); 
  
if (s != null)//如果文件存在并且读取成功 
  { 
    
using (s) 
    
{ 
      Stream2Stream (s, Response.OutputStream); 
      Response.End (); 
    }
 
  }
 
  
  
  
//调用Main_Execute,并且获取其输出 
  StringWriter sw = new StringWriter (); 
  Server.Execute (
"Main_Execute.aspx", sw); 
  
  
string content = sw.ToString (); 
  
  
//输出到客户端 
  Response.Write(content); 
  Response.Flush(); 
  
  
//写进文件 
  
  
try 
  
{ 
    
using (FileStream fs = new FileStream (filename, FileMode.Create, FileAccess.Write, FileShare.Write)) 
    
{ 
      
using (StreamWriter streamwriter = new StreamWriter (fs, Response.ContentEncoding)) 
      
{ 
        streamwriter.Write (content); 
      }
 
    }
 
  }
 
  
finally 
  
{ 
    
//Response.End (); 
  }
 
}
 
static public void Stream2Stream (Stream src, Stream dst) 
{ 
  
byte[] buf = new byte[4096]; 
  
while (true) 
  
{ 
    
int c = src.Read (buf, 0, buf.Length); 
    
if(c==0) 
      
return; 
    dst.Write (buf, 
0, c); 
  }
 
}
 
public Stream GetFileStream(string filename) 
{ 
  
try 
  
{ 
    DateTime dt 
= File.GetLastWriteTime (filename); 
    TimeSpan ts
=dt - DateTime.Now; 
    
if(ts.TotalHours>1) 
      
return null;    //1小时后过期 
    return new FileStream (filename, FileMode.Open, FileAccess.Read, FileShare.Read); 
  }
 
  
catch 
  
{ 
    
return null; 
  }
 
}
 
</script> 

<!--Main_Execute.aspx--> 
<%@ page language="C#" %> 
<html> 
<head runat="server"> 
  
<title>Untitled Page</title> 
</head> 
<body> 
ID: 
<%=Request.QueryString["id"]%> 
</body> 
</html> 


  其中原理是这样的。

  Main_Execute.aspx是生成HTML的页面。

  现在用Main.aspx来对它进行缓存.

  过程如下:

  首先根据页面参数算出文件名。(这个例子只根据Request.QueryString["id"]来算)

  尝试读取缓存的文件.如果成功,那么Response.End();

  如果不成功:

  使用Server.Execute来调用Main_Execute.aspx,并且获取它的结果内容。

  得到内容后,立刻输出到客户端。

  最后把内容写进文件里,提供给下一次做为缓存度取
AI大模型探索之路-训练篇3:大语言模型全景解读 大规模语言模型(Large Language Models,LLM),也称大语言模型或大型语言模型,是一种由包含数百亿以上参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标注文本进行训练。 阅读详情

相关推荐

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

ASP.NET生成静态页面实现方法

ASP.NET生成静态页面实现方法2007年07月08日星期日上午09:35ASP.NET生成静态页面实现方法<!--Main.Aspx--><%@pagelanguage="C#"%><%@importnamespace=System.IO%><scriptrunat="server">protectedo...

84

将点云坐标转换成世界坐标的demo

将点云坐标转换成世界坐标的demo

howard789的博客 2208

Asp.Net生成静态页面的实现方法

这篇文章介绍了Asp.Net生成静态页面的实现方法,有需要的朋友可以参考一下 代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.

jbxue123的专栏 683

用R搞定生态溯源:MixSIAR贝叶斯混合模型从安装到出图的保姆级教程

本文提供了一份详细的MixSIAR贝叶斯混合模型教程,涵盖从R环境配置、数据预处理到模型参数设置和可视化分析的完整流程。通过实战案例和常见问题解决方案,帮助生态学研究者快速掌握混合模型在生态溯源中的应用,提升数据分析效率。

weixin_42531516的博客 467

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

asp.net生成静态html页面,Asp.Net生成静态页面的实现方法

using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.We...

weixin_29108051的博客 174

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 529
上一篇: 赢在中国 - 史玉柱经典语录
下一篇: NET生成静态页面并分页
bat800
博客等级 码龄24年 30粉丝 45原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值