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

首頁 > 開發(fā) > 綜合 > 正文

服務(wù)器端異步 Web 方法(二)

2024-07-21 02:21:14
字體:
供稿:網(wǎng)友
簡單的異步 web 方法

為舉例說明異步 web 方法,我從一個(gè)名為 lengthyprocedure 的簡單同步 web 方法開始,其代碼如下所示。然后我們再看一看如何異步完成相同的任務(wù)。lengthyprocedure 只占用給定的毫秒數(shù)。

[webservice]

public class syncwebservice : system.web.services.webservice

{

[webmethod]

public string lengthyprocedure(int milliseconds)

{

system.threading.thread.sleep(milliseconds);

return "成功";

}

}

現(xiàn)在我們將 lengthyprocedure 轉(zhuǎn)換為異步 web 方法。我們必須創(chuàng)建如前所述的 beginlengthyprocedure 函數(shù)和 endlengthyprocedure 函數(shù)。請記住,我們的 beginlengthyprocedure 調(diào)用需要返回一個(gè) iasyncresult 接口。這里,我打算使用一個(gè)委托以及該委托上的 begininvoke 方法,讓我們的 beginlengthyprocedure 調(diào)用進(jìn)行異步方法調(diào)用。傳遞到 beginlengthyprocedure 的回調(diào)函數(shù)將被傳遞到委托上的 begininvoke 方法,從 begininvoke 返回的 iasyncresult 將被 beginlengthyprocedure 方法返回。

當(dāng)委托完成時(shí),將調(diào)用 endlengthyprocedure 方法。我們將調(diào)用委托上的 endinvoke 方法,以傳入 iasyncresult,并將其作為 endlengthyprocedure 調(diào)用的輸入。返回的字符串將是從該 web 方法返回的字符串。下面是其代碼:

[webservice]

public class asyncwebservice : system.web.services.webservice

{

public delegate string lengthyprocedureasyncstub(

int milliseconds);



public string lengthyprocedure(int milliseconds)

{

system.threading.thread.sleep(milliseconds);

return "成功";

}



public class mystate

{

public object previousstate;

public lengthyprocedureasyncstub asyncstub;

}



[ system.web.services.webmethod ]

public iasyncresult beginlengthyprocedure(int milliseconds,

asynccallback cb, object s)

{

lengthyprocedureasyncstub stub

= new lengthyprocedureasyncstub(lengthyprocedure);

mystate ms = new mystate();

ms.previousstate = s;

ms.asyncstub = stub;

return stub.begininvoke(milliseconds, cb, ms);

}



[ system.web.services.webmethod ]

public string endlengthyprocedure(iasyncresult call)

{

mystate ms = (mystate)call.asyncstate;

return ms.asyncstub.endinvoke(call);

}

}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 社会| 岢岚县| 玉溪市| 裕民县| 兴隆县| 怀仁县| 潞西市| 丹东市| 乡城县| 治多县| 彩票| 平远县| 潞城市| 镶黄旗| 兴隆县| 赫章县| 眉山市| 遂溪县| 卢龙县| 彰化县| 鹤峰县| 吐鲁番市| 临桂县| 红河县| 满城县| 高清| 北宁市| 阿荣旗| 南阳市| 玉林市| 武夷山市| 惠州市| 平泉县| 桃源县| 资源县| 吉木萨尔县| 丹寨县| 九寨沟县| 大名县| 津南区| 勐海县|