我通过HttpContext.Application存储了一个保存我的应用程序参考数据的大型结构,该变量通过HttpContext.Application访问。每过一段时间,这些数据都需要改变。当我更新它时,传入的请求是否会有数据处于不一致状态的危险?是否有需要(和方法)来锁定某些或全部这种结构?最后,除了在每次需要此数据库(大多是静态数据)时查询数据库以外,是否还有其他解决此问题的方法?在ASP.Net(MVC)中修改应用程序变量
1
A
回答
1
还有其他的解决方案可用,有许多缓存提供商,您可以使用。
首先,有HttpRuntime.Cache(它与HttpContext缓存相同)。还有.NET 4中的System.Runtime.Caching.MemoryCache。
您可以为缓存中的数据设置数据过期和其他规则。
http://wiki.asp.net/page.aspx/655/caching-in-aspnet/
http://msdn.microsoft.com/en-us/library/6hbbsfk6.aspx
http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.aspx
更高级高速缓存包括分布式缓存。
通常,它们驻留在另一台服务器上,但也可能驻留在同一台服务器上的不同进程上。 这样的提供者是AppFabric(来自Microsoft)和MemCached以及我目前无法回想的其他人。
的AppFabric:http://msdn.microsoft.com/en-us/magazine/ff714581.aspx
的memcached:http://memcached.org/
0
您可能正在查找HttpContext.Items
,而是将数据存储在请求范围而不是应用程序范围中。查看this article可以很好地了解ASP.NET中不同的上下文作用域。
为避免查询数据库“主要是静态数据”,您的解决方案是利用ASP.NET's caching。
1
相关问题
- 1. ASP.NET MVC应用程序变量?
- 2. 在Perl子程序中修改变量
- 3. 我无法修改rails应用程序中的引导程序变量变量
- 4. asp.net mvc应用程序会话变量在IIS中为空6
- 5. 如何在Flask应用程序中修改Bootstrap的LESS变量?
- 6. asp.net mvc访问您的应用程序中的变量一击
- 7. 在asp.net MVC应用程序
- 8. mvc web应用程序中的应用程序变量刷新
- 9. 如何以编程方式修改ASP.NET MVC和C#应用程序中的web.config?
- 10. 在asp.net mvc应用程序中的TCPClient
- 11. 全局变量MVC应用程序
- 12. 单元测试ASP.NET MVC应用程序 - 会话变量
- 13. 在rails应用程序中修改schema.rb
- 14. Asp.net mvc,修改SelectList
- 15. ASP.NET缓存应用程序变量
- 16. 锁定ASP.NET应用程序变量
- 17. 如何在asp.net mvc应用程序中动态更改masterpage
- 18. ASP.NET MVC子应用程序
- 19. 的asp.net MVC应用程序
- 20. 在Python中修改变量
- 21. 在ASP.Net MVC中访问“应用程序”对象以存储应用程序范围变量
- 22. 如何在UnitTest中使用应用程序变量asp.net
- 23. Wpf更改应用程序变量
- 24. ASP.NET MVC Web应用程序VS ASP.NET Web应用程序
- 25. 保存应用程序变量,以便用户不能篡改/修改
- 26. 在MVC应用程序中设置变量?
- 27. Azure中的ASP.NET MVC应用程序与MySQL的应用程序
- 28. 在ASP.NET MVC 3应用程序
- 29. WsFederation在Asp.Net MVC 4.6应用程序
- 30. 在c#asp.net MVC应用程序