我有一个在我们的生产环境中运行的 ASP.NET Web 服务(SOAP 样式)。
我们的服务器人员已进行设置,例如启动和停止 Windows 服务等,通过电子邮件发送给相应的各方。
最近我的老板收到了有关我的 ASP.NET Web 服务的电子邮件:
The (My Web Service's Name) Application_Start method was called
现在我认为这里发生的情况是,该服务自上次调用以来已经过去了很长时间,以至于服务器已将其从内存中卸载,现在又重新加载(使用此 Web 服务的产品的受欢迎程度已下降) ,所以这并不是一个太牵强的理论)。
但是我的老板告诉我,他每天都会收到“数十次”这封电子邮件。
我认为我的上述理论仍然可能是准确的,特别是考虑到它如何分布在我们网络层的 3-4 个服务器上,但是对于为什么这种情况如此频繁地发生还有其他解释吗?
此时我不知道 Application_End
调用是否会通过类似的电子邮件发送,也不知道比例是多少。
最佳答案
满足 <processModel> 中的某些设置即可下载应用程序被超过。 idleTimeout 可能是您的情况,但也可能是 requestLimit 和 memoryLimit.
此外,这是基于真实故事的,如果您启动任何线程、在单独的线程池线程中运行任何内容或使用 TPL,请确保捕获可能引发的任何异常。这些线程中未捕获的异常将终止工作进程。检查 Windows 事件日志中的应用程序日志。如果是这种情况,您应该会在电子邮件发出的同时看到红色图标应用程序错误标志。
关于asp.net - 为什么 Application_Start 方法会在我的 ASP.NET Web 服务上被多次调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10585513/