国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在ASP.NET Atlas中調用Web Service—應用Cache減小服務器開銷

2019-11-18 17:11:54
字體:
來源:轉載
供稿:網友

作者:Dflying Chen (http://dflying.VEVb.com/

對于一些復雜的,需要較長時間完成,并且對實時性要求不是很高的服務,選擇Cache往往是一個有效的提高效率的方法。.NET的Web Service實現充分考慮了對Cache的需求,您只需要簡單的設定即可啟用Cache。Atlas中對Web Service的調用也可以利用這一Cache機制,以減少服務器端不必要的開銷。

要啟用Web Service的Cache,您只需要在WebMethod的聲明中添加如下屬性:

[WebMethod(CacheDuration = 5)]

其中CacheDuration的值代表Cache的時間,單位為秒。

但這種Cache的方法是Web Service提供的,Atlas對此一無所知,每次調用還是被發送給服務器。所以對于網絡上延遲對用戶的影響,這種Cache沒有辦法改善。

讓我們通過一個示例程序進一步了解Web Service的Cache。

首先編寫一個Web Service,返回當前時間,并指定CacheDuration為5秒:

[WebService(Namespace = "[WebServiceBinding(ConformsTo = Wsiprofiles.BasicPRofile1_1)]
public class CachedWebService : System.Web.Services.WebService
{
    [WebMethod(CacheDuration = 5)]
    public DateTime GetGurrentTime()
    {
        return DateTime.Now;
    }
}


然后創建一個Atlas頁面,添加ScriptManager并在其中引用這個Web Service:

<atlas:ScriptManager runat="server" ID="scriptManager">
    <Services>
        <atlas:ServiceReference Path="CachedWebService.asmx" />
    </Services>
</atlas:ScriptManager>

再添加一些HTML標記用來調用這個Web Service并且顯示結果:

<input id="btnInvoke" type="button" value="Invoke" onclick="return btnInvoke_onclick()" />
<div id="result">
</div>

最后是javaScript部分,這里我們將每一次調用的結果都顯示到頁面上,便于分析:

function btnInvoke_onclick() {
    CachedWebService.GetGurrentTime(onCompleted);
}
function onCompleted(result) {
    $('result').innerHTML += result + "<br />";
}

 

下面在瀏覽器中測試一下,在多次點擊按鈕后,結果如下,可以看到Cache的作用:
 
同時,在Fiddler中可以看到,實際上這些請求還是被發送到了服務器,Cache只是服務器端的實現:


本示例的源代碼可以在此下載:http://m.survivalescaperooms.com/Files/dflying/CachedWebServiceDemo.zip


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤庆县| 专栏| 清原| 景谷| 信丰县| 德庆县| 江陵县| 青州市| 来安县| 革吉县| 贡山| 盐亭县| 松溪县| 长岛县| 阿图什市| 昌平区| 楚雄市| 广南县| 陈巴尔虎旗| 治县。| 长沙县| 隆德县| 汕头市| 航空| 东山县| 定安县| 陇西县| 房产| 财经| 沈丘县| 临沭县| 苍南县| 九龙县| 安西县| 南开区| 临武县| 天峻县| 临江市| 瑞金市| 红河县| 阳新县|