【问题标题】:asp.net cache sharing/invalidation between an asp.net-app and web-service appasp.net-app 和 web-service 应用程序之间的 asp.net 缓存共享/失效
【发布时间】:2013-04-01 08:34:52
【问题描述】:

我在同一台服务器上部署了一个 Web 服务和一个 Web 应用程序,两个应用程序都缓存了一些公共数据,并且只有 Web 应用程序会更改数据。因此,我需要一些简单的机制来使 Web 服务应用程序上的缓存数据无效,或者需要一种替代缓存机制,以便两个应用程序使用相同的缓存数据副本。现在,当缓存数据发生更改时,我无法通知 Web 服务应用程序有关更改。

Asp.Net 4.5、SQL-2008、IIS 7.5

【问题讨论】:

    标签: asp.net caching


    【解决方案1】:

    您可以使用分布式缓存,例如 memcachedAppFabric。您可能还想查看http://sharedcache.codeplex.com/

    如果您不能使用分布式缓存,那么您必须在第一个应用程序(可通过 HTTP 访问)中提供一个端点,这将使内存中的缓存失效。然后第二个应用程序可以调用这个端点。当然,根据您的具体要求,您可能希望保护此端点,以避免有人只是向它发送简单的请求,并在他认为合适时使您的应用缓存无效。

    【讨论】:

    • 它们都只能通过 LAN 使用,所以我喜欢使用端点来使缓存存储无效。我刚开始阅读 AppFabric,是否可以将其缓存功能用于共享缓存?
    • 是的,AppFabric 是另一种分布式缓存,您可以在这种情况下使用它,这将允许您两个应用程序共享相同的缓存,并且从一个应用程序中使其无效将在另一个应用程序中使其无效。在这种情况下,您不需要任何 HTTP 端点。
    • 感谢您的快速回复,我会继续阅读 AppFabric。
    猜你喜欢
    • 2018-12-24
    • 1970-01-01
    • 2018-12-20
    • 2020-06-06
    • 1970-01-01
    • 2014-01-04
    • 2015-06-15
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多