【发布时间】:2013-09-19 17:54:13
【问题描述】:
我在 IIS 中有一个 Web 服务,在它的 ctor 中,我正在构建一个对象,如果它尚不存在,我将其保存在 HttpContext.Cache 对象中。
当 IIS 重新启动(出于任何原因)时,缓存会被清除,并且只有在用户第一次激活某个功能时才会创建对象。我希望在加载 IIS 时执行 Ctor,而无需等待用户的操作。
【问题讨论】:
-
你能使用静态构造函数吗? msdn.microsoft.com/en-us/library/k9x6w0hc.aspx
-
为什么?在请求用户操作之前是否不需要 Web 服务?
-
第一次需要用户操作时需要 Web 服务,但我构建到缓存中的对象可能需要几分钟才能创建,我不希望用户等待 2 分钟。我希望缓存可以随时保存信息,而当用户不使用它时,网站本身可能会被冻结,我真的不在乎。
-
application_start 可能是一个很好的解决方案,我会试试的。谢谢!
-
好的,我读了一些关于 application_start 的内容,它似乎在第一次执行操作时运行,而不是在第一次应用程序池加载时运行
标签: c# web-services caching iis