What are some database caching options for .Net?

柔情痞子 提交于 2019-12-08 05:11:06

问题


I see on the web there are a lot of questions about caching ASP.Net, but not a lot of discussion on caching options for a Smart Client Application and their databases.

What are the data caching options that are available for Smart Client Application on the .Net framework, and how are any of you using them?


Edit

Enterprise Framework was mentioned below, thoughts?


回答1:


Caching frequently accessed data is required/desirable in Winforms Smart Client applications. Reading data from cache is often faster than hitting your data providers/web services.

Here are a couple of options with examples

  1. Enterprise library's caching application block is a good choice.
  2. Also, System.Web.Caching.Cache can be used with Winforms, just get a static instance.

See the example below.

With Entlib

 using Microsoft.Practices.EnterpriseLibrary.Caching;
    //Later 
    CacheManager cache= CacheFactory.GetCacheManager(); 
    cache.Add("dataKey", "Yourdata")

With .NET built-in cache - This'll work for your Winform app also.

using System.Web.Caching;
using System.Web;

public sealed class CacheProvider 
{ 
    private CacheProvider(){}; 

    public static GetInstance() 
    {  
            return HttpRuntime.Cache;
    } 
}



回答2:


Well, if you have a Windows Forms application, you aren't usually concerned with the types of multi-user caching scenarios that are common in ASP.NET. I think that's why you aren't seeing a lot of documentation on the subject here.

I generally roll my own caching mechanism for Windows Forms -- just storing "cached" stuff as the application's state. Do you have any examples of a scenario where you would need it? The solution should be tailored to fit the problem...




回答3:


Velocity is another option.



来源:https://stackoverflow.com/questions/392043/what-are-some-database-caching-options-for-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!