假设我们有 2 个站点 myDomain.AU 和 myDomain.RU 具有相同的代码和本地化资源文件 *.resx 和 *.ru.resx。我们预计大多数英语用户将使用 AU 网站,大多数俄语用户将使用 RU 网站。但是,如果 AU 域的某些用户请求俄语版本,.Ru 资源将加载到 AU 服务器上并显示俄语。
但我不想保留 .RU 资源直到池回收,而是想在没有人使用它们时卸载它们。因此,我希望缓存的本地化资源能够定时过期,并为每种语言配置过期时间。
相关问题提出于http://techsoda.wordpress.com/2008/01/04/aspnet-reset-that-resource/ http://techsoda.wordpress.com/2008/01/04/aspnet-reset-that-resource/ and http://forums.asp.net/t/1201065.aspx/1 http://forums.asp.net/t/1201065.aspx/1
Rick Strahl 在“创建数据驱动的 ASP.NET 本地化资源提供程序和编辑器”中(http://www.west-wind.com/presentations/wwdbresourceprovider/ http://www.west-wind.com/presentations/wwdbresourceprovider/) 有
DbResourceConfiguration.ClearResourceCache() ,清除所有缓存,但不清除过期的缓存。
欢迎任何建议、参考什么是最好的实施方式。
更新:下面 Rick 的评论指出我正在做“过早优化”。
无论如何,如果加载太多资源会成为生产中的问题,那么了解解决方案是件好事。
为什么不使用静态字典作为资源缓存(如 Rick Strahl 的示例),为什么不将各个区域性数据存储在 ASP.NET 缓存中,从而实现开箱即用的滑动过期呢?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)