网站程序代码错误引发的iis溢出Application Popup

亮术网 2020-10-04 本网原创

常见的情况是网站访问量大了iis溢出,这往往容易让人造成错觉,iis 一溢出就以为是网站访问量大了所致,结果按这个方向去找原因,花费大量时间却无果而终,更为严重的是 iis 一溢出弹出一个等待选择“确定”还是“取消”窗口,网站使用的应用池随之停止工作,所有动态网页都打不开了,严重影响网站的用户体验和在搜索引擎中的排名,可能因此排名一泻千里。

其实,除网站访问量提升导致 iis溢出外,网站程序代码错误会更频繁的引发 iis溢出,并且常常是要选择“确定”还是“取消”的这种情况,所以影响十分大,即使网站有专门的管理员,也不可能一天24小时守着单击“确定”,所以找到 iis溢出原因(代码错误)十分必要。

 

一、网站程序代码错误引发的iis溢出系统日志的提示

这个可以在事件查看器中找到,一般有两处,一处是应用程序日志,另一处是系统日志。

1、应用程序日志iis溢出提示

事件类型: 错误

事件来源: .NET Runtime

事件种类: 无

事件 ID: 1024

日期:  2014-12-25

时间:  11:38:42

用户:  N/A

计算机: WL93000683563

描述:

.NET Runtime version : 4.0.30319.1022 - Application ErrorApplication has generated an exception that could not be handled.Process ID=0x564 (1380), Thread ID=0x7bc (1980). 

Click OK to terminate the application.

Click CANCEL to debug the application.

 

事件类型: 错误

事件来源: .NET Runtime

事件种类: 无

事件 ID: 1027

日期:  2014-12-25

时间:  11:38:41

用户:  N/A

计算机: WL93000683563

描述:

Application: w3wp.exe Framework Version: v4.0.30319

Description: The process was terminated due to stack overflow.

 

 

 

2、系统日志iis溢出提示

事件类型:    警告

事件来源:    W3SVC

事件种类:    无

事件 ID:    1011

日期:        2014-12-26

时间:        11:15:57

用户:        N/A

计算机:    WL93000683563

描述: 为应用程序池 'xx' 提供服务的进程在与 World Wide Web Publishing 服务通信时遇到致命错误。进程 ID 为 '2412'。数据字段包含错误号。

 

 

二、iis溢出错误分析

从应用程序日志看不出是什么问题,系统日志却提示了错误:“数据字段包含错误号。”。它提示我们,类的数据成员定义有误,例如:

Public string userName;

Public string UserName
  {
    Get{ return UserName;}
  }

应该是反回 userName,而不是 UserName,只有一个微小的字母大小写的区别,稍不留意就会出错。改正这个错误后,就不会出现因“数据字段包含错误号”而引发iis溢出。