我在同一台服务器上部署了一个 Web 服务和一个 Web 应用程序,两个应用程序都缓存了一些公共数据,并且只有 Web 应用程序更改了数据。因此,我需要一些简单的机制来使 Web 服务应用程序上的缓存数据无效,或者需要一种替代缓存机制,以便两个应用程序使用相同的缓存数据副本。现在,当缓存数据发生更改时,我无法通知 Web 服务应用程序有关更改。
Asp.Net 4.5、SQL-2008、IIS 7.5
您可以使用分布式缓存memcached
,AppFabric
例如。您可能还想查看http://sharedcache.codeplex.com/
如果您不能使用分布式缓存,则必须在第一个应用程序(可通过 HTTP 访问)中提供一个端点,这将使内存中的缓存无效。然后第二个应用程序可以调用这个端点。当然,根据您的具体要求,您可能希望保护此端点,以避免有人只是向它发送简单的请求,并在他认为合适的时候使您的应用程序的缓存无效。