你可以在 global.asax 的 Application_Start 方法中写一个日志,例如写我测试了下,确实网站在第一次启动后每次打开新页面都要被调用,这是不是说明有问题,凭你的经验能列举几个你遇到的吗?万分感谢!
12345void
Application_Start(
object
sender, EventArgs e)
{
var file = Context.Server.MapPath(
"~/App_Data/Log/Application_Start.txt"
);
System.IO.File.WriteAllText(file,
string
.Format(
"{0} 启动 \r\n\r\n"
, DateTime.Now));
}
然后看看是不是频繁启动。如果频繁启动,你的程序可能有严重的bug,只不过被你的程序刻意掩盖了。
另外,此要地,如果你的asp.net网站发布到生产服务器上了,那么打开你的aspx或者ascx等等文件看看是不是仅有一行文字“这是预编译工具生成的标记文件,不应删除!”。如果不是,说明你根本没有真正完整编译网站,只会造成网站重启时超级慢。
这在asp.net应用程序中,应该仅启动一次,然后几十分钟内很少再重新启动。
重新启动应用程序,是asp.net的一个问题措施。应用程序有严重的BUG,会重启。如果web.config配置文件被改变,会重启。如果你修改bin下的文件或者除app_data以外其它目录下的可执行文件,会重启。如果在app_data目录以外其它目录下删除、锌新增子目录,会重启。......很多原因、数不清的原因会重启。重启时Session集合、静态变量内容、Application集合等等数据就丢失了(初始化了)。
重启时,一堆东西需要初始化,你的“没有完整编译的文件”需要重新编译。
检测到网站频繁重启,这只是一个开头,只能说明已经很明确地测试出网站运行的一个严重的BUG现象了。剩下的,就是需要你们自己研究一下哪一个操作必然引起asp.net进程重启。