Eli*_*Eli 19 c# asp.net .net-4.0 asp.net-mvc-3
使用WebActivator PreApplicationStart方法时,实际触发绑定到此方法的方法是什么?当IIS7启动App Pool时?当第一个请求发送到网络服务器?别的什么?如果您有答案,还可以提供您获取此信息的位置的参考吗?
IIS 7.5中是否有任何变化?
Vin*_*ayC 26
WebActivator PreApplicationStart实际上依赖于ASP.NET PreApplicationStartMethodAttribute(请参阅此链接以了解Web激活器的工作原理).
PreApplicationStartMethodAttribute当ASP.NET运行时启动应用程序时,即使在app_start事件被触发之前,代码也会在管道中提前运行.因此,为了回答您的问题,当第一次向Web服务器发出请求时将触发该触发器(这将在应用程序启动时启动).
请注意,触发器与ASP.NET应用程序启动有关,而与应用程序池无关.您的应用程序池可能正在运行,因为某些其他应用程序(可能是非ASP.NET应用程序)但是当第一个请求来自ASP.NET应用程序时,此触发器将发生(对于特定应用程序),因为应用程序已启动.
如果您使用自动启动功能,则IIS将在您的应用程序池回收中重新启动您的应用程序,从而PreApplicationStart将被触发.
@ VinayC答案的一小部分补充:如果您在PreApplicationStartMehod中添加断点并调试Web应用程序,您可能会看到每次请求都会调用它.通过写入PreApplicationStartMethod中的日志文件,我很容易确认这不是通常的行为.如果未附加到调试器,则此方法不会在每个请求上运行.
| 归档时间: |
|
| 查看次数: |
20800 次 |
| 最近记录: |