C# 清除.net应用程序';(asp和桌面应用程序)从asp应用程序缓存
在我的公司,我们所有的应用程序都使用1个数据库。我们有一个ASP.Net网站和几个桌面应用程序(WPF、WinForms) 每个应用程序都有自己的缓存系统。例如,ASP.Net网站使用IIS缓存,桌面应用程序使用内存缓存 我们开发了一个管理网站(ASP.NETMVC5)来管理全局配置。当我们从该网站更新数据库中的数据时,我们希望告诉其他应用程序更新其缓存 这样做的最佳解决方案是什么C# 清除.net应用程序';(asp和桌面应用程序)从asp应用程序缓存,c#,asp.net,asp.net-mvc,wpf,caching,C#,Asp.net,Asp.net Mvc,Wpf,Caching,在我的公司,我们所有的应用程序都使用1个数据库。我们有一个ASP.Net网站和几个桌面应用程序(WPF、WinForms) 每个应用程序都有自己的缓存系统。例如,ASP.Net网站使用IIS缓存,桌面应用程序使用内存缓存 我们开发了一个管理网站(ASP.NETMVC5)来管理全局配置。当我们从该网站更新数据库中的数据时,我们希望告诉其他应用程序更新其缓存 这样做的最佳解决方案是什么 谢谢你的帮助。有几个选项,最简单的方法是每X秒轮询一次数据库,询问是否应该重新加载缓存。这可以通过记住之前的状态
谢谢你的帮助。有几个选项,最简单的方法是每X秒轮询一次数据库,询问是否应该重新加载缓存。这可以通过记住之前的状态(例如整数)来实现。如果出现偏差,请重新加载缓存 您还可以让数据库发送关于表更改的更改通知,这将比每次轮询具有更好的性能
最后一个选项是使用内存缓存的公共源,该源在所有系统中共享。这样就不需要保持它们的同步。有几个选项,最简单的方法是每X秒轮询一次数据库,询问是否应该重新加载缓存。这可以通过记住之前的状态(例如整数)来实现。如果出现偏差,请重新加载缓存 您还可以让数据库发送关于表更改的更改通知,这将比每次轮询具有更好的性能
最后一个选项是使用内存缓存的公共源,该源在所有系统中共享。那么你根本不需要让它们保持同步。嗨!首先,谢谢你的hep!第三种解决方案,wich似乎是最好的,现在不可能了,因为我们必须对一些最大型的应用程序架构进行深刻的更改。对于第二种解决方案,您将如何发送此通知?使用wich tech?请参见SQL Server示例。其他平台也有类似的解决方案。我阅读了您的链接,但我认为它不适合我们的应用程序。实际上,缓存中有依赖于多个表的对象。所以,我们想找到一种称为“重载用户缓存”的方法,即使用户对象基于10个表。您可以将该ID存储在全局表中的某个位置。如果清除缓存,请更新该表中的一行。嗨!首先,谢谢你的hep!第三种解决方案,wich似乎是最好的,现在不可能了,因为我们必须对一些最大型的应用程序架构进行深刻的更改。对于第二种解决方案,您将如何发送此通知?使用wich tech?请参见SQL Server示例。其他平台也有类似的解决方案。我阅读了您的链接,但我认为它不适合我们的应用程序。实际上,缓存中有依赖于多个表的对象。所以,我们想找到一种称为“重载用户缓存”的方法,即使用户对象基于10个表。您可以将该ID存储在全局表中的某个位置。如果清除缓存,请更新该表中的一行。