如何获取ASP.NET应用程序的最后开始时间?

Jad*_*ias 5 .net asp.net iis datetime

如何启动当前ASP.NET应用程序的最后一次启动?

scr*_*dam 6

如果你想放弃一个额外的变量,我想这会给你最后一次重启IIS工作进程(也就是应用程序池):

System.Diagnostics.Process.GetCurrentProcess().StartTime
Run Code Online (Sandbox Code Playgroud)

我用它来设置可缓存性,因为该页面基于我只在应用程序启动时动态生成的内容:

Response.Cache.SetLastModified(System.Diagnostics.Process.GetCurrentProcess().StartTime);
Run Code Online (Sandbox Code Playgroud)

可以在应用程序池/工作进程中停止/启动各个网站,但我从这篇文章中推断这样做不会重新创建静态应用程序对象,因此我认为与工作进程关联的日期可能是最有用的日期这里.

请记住,在应用程序启动时创建的静态应用程序变量实际上通常会为您提供首次访问应用程序的时间. 工作进程可能更早开始,并且会记住诸如"IIS应用程序预热"和"IIS应用程序自动启动"之类的短语,以及关于何时初始化静态字段的另一个讨论.您选择的内容可能取决于您是否对最后一个工作流程回收时间感兴趣,或者您是否对计算其他静态成员的时间感兴趣.


SLa*_*aks 5

您可以在Global.asax 中将静态字段设置为DateTime.Nowin Application_Start.


Fel*_*ano 4

好吧,我想,创建一个静态类,并使用静态构造函数将属性分配给DateTime.Now.

  • 您可以禁用自动回收,请检查应用程序池设置。 (3认同)