ASP.NET站点自动重启问题排查

发表于:2013-1-25 09:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:kaosini    来源:51Testing软件测试网采编

  网上搜索了一下导致Asp.Net站点重启的原因,具体可以参考:http://blog.csdn.net/kaosini/article/details/8510087,其中第五条就这样说

  修改aspx,master文件不一定会导致重启;但是每修改一次都会导致一次重新编译,重新编译次数达到15次之后会导致站点重启,重启原因是:

  Recompilation limit of 15 reached HostingEnvironment initiated shutdown

  于是我自己测试了下,停了动转静服务,在运行的项目里面,进行了如下操作

  1、对1个Asp.net文件修改了20次以上,发现并没有导致Asp.net站点重启

  2、对15个Asp.net文件进行修改,结果就出现了Asp.net站点重启

  3、对20个html文件进行修改,发现并没有导致Asp.net站点重启

  于是我就纳闷了,动转静导致的都是生成的html文件,并没有修改动态文件,为什么会导致站点重启呢,于是又谷歌了一番,终于又找到个有用的帖子《引起IIS下Asp.net应用程序重启的原因》,这个是翻译过来的文章,原文是:http://www.dotnetindia.com/2003/10/why_aspnet_rest.html

  里面的一条这样说道,一个文件夹里同时有很多文件发生改变,.NET系统对这些变化通知来不及反应,这时候可能会重启。比如在高PV时每次访问都生成一次;

  仔细想了下,导致我的站点重启的原因最有可能是两个

  1、一个文件夹里同时有很多文件发生改变,.NET系统对这些变化通知来不及反应,这时候可能会重启。

  2、我Asp.net文件里面会include动转静生成的html文件,可能也被认为是Asp.net文件发生了变化,这个原因感觉是微乎其微,因为include动转静生成文件的asp.net文件不止15个,而且我把动转静的文件个数控制到15个以内的话,居然还是会出现重启的情况,虽然频率降低了。

  补充(2013.01.18):今天我特地试了一下方法1,对项目下的任意一个文件进行多文件的覆盖,连续执行n多次,结果发现站点果然重启了。但是好像没有明显的规律,有时候执行两三次就会重启,有时候20多次照样不重启,所以不敢断言就是文件更新造成的。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号