2

我有一个在我们的生产环境中运行的 ASP.NET Web 服务(SOAP 样式)。

我们的服务器人员进行了设置,以便通过电子邮件将启动和停止 Windows 服务等内容发送给相关方。

最近我的老板收到了关于我的 ASP.NET Web 服务的电子邮件:

The (My Web Service's Name) Application_Start method was called

现在我想这里发生的事情是该服务自从上次调用以来已经过了很长时间,服务器已经从内存中卸载了它,现在它又被重新加载了(使用这个 Web 服务的产品已经不受欢迎了,所以这个不是太牵强的理论)。

然而,我的老板告诉我,他每天“几十次”收到这封电子邮件。

我想我的上述理论仍有可能是准确的,尤其是考虑到它是如何分布在我们 Web 层中的 3-4 台服务器上的,但是对于为什么这种情况可能如此频繁地发生还有其他解释吗?

目前,我不知道Application_End电话是否通过类似的电子邮件发送,或者比例是多少。

4

1 回答 1

3

当超出<processModel>中的某些设置时,可以下载应用程序。idleTimeout可能是您的情况,但也可能是requestLimitmemoryLimit

另外,这是基于一个真实的故事,如果您启动任何线程,在单独的线程池线程中运行任何东西,或者使用 TPL,请确保您捕获任何可能引发的异常。这些线程中未捕获的异常将杀死工作进程。检查 Windows 事件日志中的应用程序日志。如果是这种情况,您应该会在电子邮件发出的同时看到红色图标应用程序错误标志。

于 2012-05-14T15:07:48.667 回答