为什么在我的ASP.NET web服务上经常调用应用程序启动方法?
我有一个ASP.NET Web服务(SOAP风格),它正在我们的生产环境中运行 我们的服务器人员已经进行了一些设置,例如启动和停止Windows服务等,通过电子邮件发送给相关方 最近我的老板收到了关于我的ASP.NET web服务的电子邮件:为什么在我的ASP.NET web服务上经常调用应用程序启动方法?,asp.net,.net,web-services,application-lifecycle,Asp.net,.net,Web Services,Application Lifecycle,我有一个ASP.NET Web服务(SOAP风格),它正在我们的生产环境中运行 我们的服务器人员已经进行了一些设置,例如启动和停止Windows服务等,通过电子邮件发送给相关方 最近我的老板收到了关于我的ASP.NET web服务的电子邮件: The (My Web Service's Name) Application_Start method was called 现在我想,这里发生的事情是,自从上次调用该服务以来,该服务已经运行了很长时间,服务器已经从内存中卸载了它,现在它又被重新加载了
The (My Web Service's Name) Application_Start method was called
现在我想,这里发生的事情是,自从上次调用该服务以来,该服务已经运行了很长时间,服务器已经从内存中卸载了它,现在它又被重新加载了(使用该web服务的产品的受欢迎程度已经下降,所以这不是一个太牵强的理论)
然而,我的老板告诉我,他每天收到这封电子邮件“几十次”
我认为我上面的理论仍然可能是准确的,特别是考虑到它是如何分布在我们的web层中的3-4台服务器上的,但是对于这种情况如此频繁的发生,还有其他解释吗
此时此刻,我不知道
Application\u End
呼叫是否也被类似的电子邮件发送,或者比率是多少 当超过中的某些设置时,可以下载应用程序idleTimeout可能是您的案例中的一个,但也可以是requestLimit和memoryLimit
此外,这是基于一个真实的故事,如果您启动任何线程,在单独的线程池线程中运行任何线程,或者使用TPL,请确保捕获可能引发的任何异常。来自这些线程的未捕获异常将终止工作进程。检查Windows事件日志中的应用程序日志。如果是这种情况,您应该在电子邮件发出的同时看到红色图标应用程序错误标志。您的理论听起来很合理。检查应用程序池回收的IIS设置。