奇怪,页面的 OnLoad 方法会执行 2 次!
shove 2009-01-10 10:26:32 一、PageBase.cs:
public class PageBase : System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
using (FileStream fs = new FileStream("e:\\aaaa.txt", FileMode.Append, FileAccess.Write, FileShare.Write))
{
StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GBK"));
writer.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + System.DateTime.Now.Millisecond.ToString() + "\t\t" + "aaaaaaaaaaaaaaaaa1" + "\r\n");
writer.Close();
}
}
}
二、Default.aspx.cs:
public partial class _Default : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
一个简单的页面继承。
这样写,打开网页,文本文件被增加一条记录,正常。刷新一下后,又增加一条,也正常。
-----------------------------------------------------------------------
但是: 当把以上基类单独放到一个项目中,编译成 .dll,再包含到网站,情况就不同了。
一打开网页,就运行了 2 次,文本文件中被增加 2 条记录,刷新一下页面,又增加 2 次。
很是奇怪。
哪位大侠把机制讲解一下。