日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web Service 缓存

發布時間:2023/12/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web Service 缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于微軟的Web service實現是基于Asp.net,所以會出現緩存也就在情理之中了.主要有2中緩存:輸出緩存和數據緩存.由于Web Service的緩存管理與asp.net基本是一樣的,就不說他的原理,主要說一下在Web service中是如何實現的.

輸出緩存

實現方法是在WebMethod這個特性里面加一個屬性CacheDuration,如下代碼所示

[WebMthod(CacheDuration=30)]

public string HelloWorld(){...}

其單位為秒.

數據緩存

數據緩存主要是存儲在Context.Cache之中.而關于數據緩存有一個比較通用的設計模式.

那就是建立一個private 方法,拿取所有的數據(相對所有的數據,依據項目情況而定),并把數據緩存起來,在建議各public的WebMethod方法,此方法就從私有的方法過濾出相關的數據返回給客戶端.代碼片段如下

private DataSet GetAllUsers()

{

DataSet ds =new DataSet();

if(Context.Cache["cachename"] !=null)

{

return (DataSet)Context.Cache["cachename"];

}

else

{

//....some code to retrieve data from some store

//cache

Context.Cache.Insert("cachename",ds,null,DateTime.Now.AddMinutes(10),TimeSpan.Zero);

return ds;

}

}

//retrieve all users that belongs to a department.

[WebMethod]

public User[] GetUser(string DeptID)

{

DataSet alluser = GetAllUsers();

User[] users =alluser.Tables[0].Rows[5] //注:此處代碼僅僅是示例,本身語法是有問題,主要是說明在alluser對象中依據傳過來的部門參數進行過濾后,然后返回.

}

轉載于:https://www.cnblogs.com/scgw/archive/2011/03/18/1988104.html

總結

以上是生活随笔為你收集整理的Web Service 缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。