我的 ASP.NET 应用程序将一些昂贵的(加载)数据存储在应用程序可访问的static
字段中(System.Web.Caching.Cache
在这种情况下使用不合适)。
我的应用程序还通过另一台机器上的中央 SQL Server 跨几个网络服务器进行负载平衡。
有时此缓存会失效。如果用户提交了一些更新的数据,Server01
那么该应用程序知道它可以在将数据提交到数据库时清除其本地缓存。
但是,如何Server01
通知Server02
此更改 soServer02
的缓存将失效?
我不知道 ASP.NET 中有任何内置的服务器间 IPC 用于 web-farm 通信,看来我必须在应用程序中创建一个 URI 处理程序(例如http://mysite/InvalidateCache
),该处理程序将由其他服务器调用,但这似乎有点骇人听闻。有没有更好的办法?