C# Castle活动记录-使用缓存
我对Castle活动记录模式还不熟悉,我正试图了解如何有效地使用缓存。 因此,我试图(或想要)做的是在调用GetAll时,找出我之前是否调用过它并检查缓存,否则加载它,但我还想传递一个bool参数,强制缓存清除并重新查询数据库 所以我只是在寻找最后的片段。 谢谢C# Castle活动记录-使用缓存,c#,castle-activerecord,C#,Castle Activerecord,我对Castle活动记录模式还不熟悉,我正试图了解如何有效地使用缓存。 因此,我试图(或想要)做的是在调用GetAll时,找出我之前是否调用过它并检查缓存,否则加载它,但我还想传递一个bool参数,强制缓存清除并重新查询数据库 所以我只是在寻找最后的片段。 谢谢 公共静态列表GetAll(bool forceReload) { 列表资源=新列表(); //强制重新加载请求 如果(强制重新加载) { //需要指定强制重新加载(如何?) XmlConfigurationSource=新的XmlCon
公共静态列表GetAll(bool forceReload)
{
列表资源=新列表();
//强制重新加载请求
如果(强制重新加载)
{
//需要指定强制重新加载(如何?)
XmlConfigurationSource=新的XmlConfigurationSource(“appconfig.xml”);
初始化(source,typeof(Model.Resource));
resources=Model.Resource.FindAll().ToList();
}
其他的
{
//以某种方式检查缓存并返回缓存?
}
归还资源;
}
公共静态列表GetAll()
{
返回GetAll(false);
}
看看缓存模式:
此外,NHibernate还有一个可插入的二级缓存。看看缓存模式:
public static List<Model.Resource> GetAll(bool forceReload)
{
List<Model.Resource> resources = new List<Model.Resource>();
//Request to force reload
if (forceReload)
{
//need to specify to force a reload (how?)
XmlConfigurationSource source = new XmlConfigurationSource("appconfig.xml");
ActiveRecordStarter.Initialize(source, typeof(Model.Resource));
resources = Model.Resource.FindAll().ToList();
}
else
{
//Check the cache somehow and return the cache?
}
return resources;
}
public static List<Model.Resource> GetAll()
{
return GetAll(false);
}