最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net SAF 中緩存服務(wù)的實(shí)現(xiàn)第4/5頁

 更新時間:2008年08月08日 21:28:49   作者:  
對緩存的興趣源于張子陽寫的一篇文章《SAF 中緩存服務(wù)的實(shí)現(xiàn)》中的一個例子:

最后的兩個方法,GetItem()和GetList()分別用于從緩存中獲取單個或者多個對象。值得注意的是當(dāng)使用GetList()方法時,Xpath應(yīng)該為到達(dá)一個組結(jié)點(diǎn)的路徑。 
復(fù)制代碼 代碼如下:

// 根據(jù) XPath 獲取對象    
// 先根據(jù)Xpath獲得對象的Key,然后再根據(jù)Key獲取實(shí)際對象    
public virtual object GetItem(string xpath) {    

    object obj = null;    
    xpath = PrepareXPath(xpath);    
    XmlNode node = rootMap.SelectSingleNode(xpath);    

    if (node != null) {    
       // 獲取對象的Key    
       string key = node.Attributes["key"].Value;    

       // 獲取實(shí)際對象    
       obj = cacheStrategy.GetItem(key);    
    }    
    return obj;    
}    

// 獲取一組對象,此時xpath為一個組結(jié)點(diǎn)    
public virtual object[] GetList(string xpath) {    
    xpath = PrepareXPath(xpath);    

    XmlNode group = rootMap.SelectSingleNode(xpath);    

    // 獲取該結(jié)點(diǎn)下的所有子結(jié)點(diǎn)(使用[@key]確保子結(jié)點(diǎn)一定包含key屬性)    
    XmlNodeList results = group.SelectNodes(xpath + "/*[@key]");    

    ArrayList objects = new ArrayList();    

    string key;    

    foreach (XmlNode result in results) {    
       key = result.Attributes["key"].Value;    
       Object obj = cacheStrategy.GetItem(key);    
       objects.Add(obj);    
    }    

    return (object[])objects.ToArray(typeof(object));    
}

至此,SAF 的緩存服務(wù)的設(shè)計(jì)和代碼實(shí)現(xiàn)都完成了,現(xiàn)在我們來看看如何使用它。 

程序測試 
復(fù)制代碼 代碼如下:

static void Main(string[] args) {    

    CacheService.Cache cache = CacheService.Cache.Instance;    

    // 添加對象到緩存中    
    cache.AddItem("/WebApplication/Users/Xin", "customer xin");    
    cache.AddItem("/WebApplication/Users/Jimmy", "customer jimmy");    
    cache.AddItem("/WebApplication/Users/Steve", "customer other");    
    cache.AddItem("/WebApplication/GlobalData", "1/1/2008");    
    cache.AddItem("/Version", "v10120080401");    
    cache.AddItem("/Site", "TraceFact.Net");    

    // 獲取所有User    
    object[] objects = cache.GetList("/WebApplication/Users");    
    foreach (object obj in objects) {    
       Console.WriteLine("Customer in cache: {0}", obj.ToString());     
    }    

    // 刪除所有WebApplication下所有子孫結(jié)點(diǎn)    
    cache.RemoveItem("/WebApplication");    

    // 獲取單個對象    
    string time = (string)cache.GetItem("/WebApplication/GlobalData");    
    string name = (string)cache.GetItem("/WebApplication/Users/Xin");    

    Console.WriteLine("Time: {0}", time);// 輸出為空,WebApplication下所有結(jié)點(diǎn)已刪除    
    Console.WriteLine("User: {0}", name);// 輸出為空, WebApplication下所有結(jié)點(diǎn)已刪除    

   
    // 獲取根目錄下所有葉結(jié)點(diǎn)    
    objects = cache.GetList("/");    
    foreach (object obj in objects) {    
       Console.WriteLine("Object: {0}", obj.ToString());    
    }    

    Console.ReadLine();    


輸出的結(jié)果為: 
Customer in cache: customer xin 
Customer in cache: customer jimmy 
Customer in cache: customer other 
Time: 
User: 
Object: v10120080401 
Object: Trace

相關(guān)文章

  • Excel自定義關(guān)閉按鈕實(shí)現(xiàn)代碼

    Excel自定義關(guān)閉按鈕實(shí)現(xiàn)代碼

    這篇文章主要介紹了Excel自定義關(guān)閉按鈕實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • .net開發(fā)微信公眾平臺實(shí)例教程

    .net開發(fā)微信公眾平臺實(shí)例教程

    這篇文章主要介紹了.net開發(fā)微信公眾平臺的方法,對微信公眾平臺開發(fā)的原理與相應(yīng)的.net實(shí)現(xiàn)方法都做了較為詳細(xì)的講述,非常實(shí)用,需要的朋友可以參考下
    2014-10-10
  • .Net 調(diào)用存儲過程取到return的返回值

    .Net 調(diào)用存儲過程取到return的返回值

    存儲過程只能返回 int 類型,如果返回一個字符串 ,將會報類型轉(zhuǎn)化錯誤,下面以示例介紹下如何取到return的值,需要的朋友可以參考下
    2014-08-08
  • ASP.NET C#生成下拉列表樹實(shí)現(xiàn)代碼

    ASP.NET C#生成下拉列表樹實(shí)現(xiàn)代碼

    下拉列表樹很方便且時尚的一個導(dǎo)航,貌似很多的朋友都想實(shí)現(xiàn)這樣一個列表樹,本文將滿足你們的設(shè)想,通過本文你們可以學(xué)到如何使用c#生成下拉列表樹,感興趣的你可不要錯過了啊
    2013-02-02
  • ASP.NET數(shù)據(jù)綁定之DataList控件

    ASP.NET數(shù)據(jù)綁定之DataList控件

    這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的DataList控件,DataList控件以表的形式呈現(xiàn)數(shù)據(jù),通過該控件,您可以使用不同的布局來顯示數(shù)據(jù)記錄,對DataList控件感興趣的小伙伴們可以參考一下
    2016-01-01
  • ASP.NET Core 3.0輕量級角色API控制授權(quán)庫

    ASP.NET Core 3.0輕量級角色API控制授權(quán)庫

    這篇文章介紹了ASP.NET Core 3.0輕量級角色API控制授權(quán)庫,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET Core中如何實(shí)現(xiàn)重定向詳解

    ASP.NET Core中如何實(shí)現(xiàn)重定向詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實(shí)現(xiàn)重定向的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 用Html5與Asp.net MVC上傳多個文件的實(shí)現(xiàn)代碼

    用Html5與Asp.net MVC上傳多個文件的實(shí)現(xiàn)代碼

    Html 5 的有一些File API,對Form表單增強(qiáng)的特性,讓我們輕松支持多文件上傳,看下面的Html片斷代碼
    2012-08-08
  • .NET 中的裝箱與拆箱實(shí)現(xiàn)過程

    .NET 中的裝箱與拆箱實(shí)現(xiàn)過程

    本文分別介紹裝箱(boxing)與拆箱(unboxing)的實(shí)現(xiàn)過程,感興趣的朋友可以了解下
    2013-01-01
  • ASP.NET DataTable去掉重復(fù)行的2種方法

    ASP.NET DataTable去掉重復(fù)行的2種方法

    這篇文章主要介紹了ASP.NET DataTable去掉重復(fù)行的2種方法,本文直接給出去重代碼,需要的朋友可以參考下
    2015-02-02

最新評論

林西县| 桐庐县| 南靖县| 灵寿县| 南开区| 海丰县| 永春县| 米易县| 绥芬河市| 时尚| 龙口市| 上饶市| 澄江县| 新巴尔虎左旗| 宁明县| 宕昌县| 抚松县| 亳州市| 荥经县| 长顺县| 读书| 彩票| 石楼县| 平遥县| 历史| 永靖县| 大足县| 广州市| 龙川县| 山东省| 临江市| 日喀则市| 英超| 呈贡县| 孝昌县| 云阳县| 兴城市| 襄汾县| 措美县| 平远县| 锡林浩特市|