【问题标题】:Sharepoint Timer Job and access to the HTTPRuntime Cache objectSharepoint Timer Job 和对 HTTPRuntime Cache 对象的访问
【发布时间】:2011-06-17 10:13:24
【问题描述】:

我计划创建一个 Sharepoint 计时器作业并将其配置为在我们所有的农场 Web 前端机器上运行。

计时器作业将从 SP SQL Server 实例读取数据,并希望将其更新到我们拥有的 2 个 Web FTE 上的 HTTPRuntime 缓存对象中。

问题是,Timer Job 是否可以访问 ASP.net 缓存对象,还是因为它们是从 owstimer.exe 运行的?

如果不是,那么在 2 个 Web 前端更新缓存项的最佳方法是什么?我应该提一下,我们目前没有将 IIS 站点配置为单独访问。 IE。我们有一个访问农场的 URL,我们的内容交换机决定哪台机器获取它。

那么有可能吗?

【问题讨论】:

    标签: sharepoint timer httpruntime.cache


    【解决方案1】:

    您不能直接访问缓存。时间作业在不同的进程中运行,而不是您的网站正在运行的应用程序池。

    你可以间接地做到这一点。我能想到的一种方法是在您的网站上创建一个简单的 Web 服务,用于侦听您的计时器作业并更新网站上的缓存。

    另一种选择是查看memcached for .NET,这是一个允许您从其他进程访问缓存的项目。

    【讨论】:

      【解决方案2】:

      如果您想从 WFE 访问它,它不必是 HTTP 运行时缓存,对吧?您可以将其存储在列表中吗?如果这对您来说过于重量级、效率低下或听起来很愚蠢,那么您可以通过让计时器作业将标志填充到 SPWebApplication 的 Properties 哈希表中来向 WFE 发出信号以拉动(或使缓存项无效)。此哈希表不能用于存储项目本身,因为它仅限于 DateTime、bool、string、int 等原语。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-09
        • 1970-01-01
        • 2013-07-31
        • 2021-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-22
        相关资源
        最近更新 更多