亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SharePoint EventHandler調(diào)用外部動態(tài)鏈接庫的多線程擴展

        2011-08-29 05:39:44韓鳳寧
        科技傳播 2011年24期
        關(guān)鍵詞:子類開發(fā)人員線程

        韓鳳寧

        同濟大學(xué)軟件學(xué)院,上海 330027

        1 SharePoint EventHandler介紹

        EventHandler在SharePoint中起到事件處理的作用。當(dāng)用戶使用SharePoint進行一些操作時,比如上傳一個文件,EventHandler相應(yīng)的事件處理函數(shù)便會截獲此事件,執(zhí)行開發(fā)人員在此函數(shù)中重寫的功能代碼,從而實現(xiàn)一系列動作事件。在SharePoint中,EventHandler依據(jù)SharePoint的層次結(jié)構(gòu)和功能分為 Web Level、List Level、ListItem Level、Email,分別繼承了SPWebEventReceiver、SPListEventReceiver、SPItemEventReceiver、SPEmailEventReceiver類。開發(fā)人員根據(jù)實際需求在相應(yīng)的子類中實現(xiàn)具體的功能。

        2 SPItemEventReceiver類

        該類的命名空間為Microsoft.SharePoint.SPItemEventReceiver,用來處理發(fā)生在ListItems上的觸發(fā)事件。開發(fā)人員創(chuàng)建子類,并繼承SPItemEventReceiver類,來實現(xiàn)實際問題中的觸發(fā)事件。圖1為SPItemEventReceiver類的結(jié)構(gòu)。

        圖1 SPItemEventReceiver類結(jié)構(gòu)

        3 ItemAdded調(diào)用外部動態(tài)鏈接庫出現(xiàn)的問題

        當(dāng)用戶向文檔庫上傳文檔時,要用到SPItemEventReceiver類的ItemAdded()方法去處理文檔上傳時的一系列動作。在實際需求中,會在SharePoint項目中引入外部動態(tài)鏈接庫,即調(diào)用DLL文件。在此介紹的DLL文件實現(xiàn)的功能是將上傳的文檔進行文字提取,這個文字提取的執(zhí)行過程將會占用至少1分鐘的時間。如圖2為事件觸發(fā)后的一系列過程。

        在ItemAdded方法中調(diào)用外部動態(tài)鏈接庫,在實際項目開發(fā)中是經(jīng)常會遇到的情況,然而這也引起了一些問題。如果外部動態(tài)鏈接庫不支持多線程,那將會在執(zhí)行過程中出現(xiàn)一些異常,從而使上述系列過程不能正常完成。當(dāng)用戶在上一個過程還未完成時就上傳了第二個文檔,那么這時,第二個文檔的線程會終止掉第一個文檔的線程,造成第一個文檔無法處理完成。

        圖2 觸發(fā)后處理的事件

        4 多線程與ItemAdded方法

        ItemAdded本身是支持多線程的,但是由于外部動態(tài)鏈接庫的引入,而這個動態(tài)鏈接庫并不支持多線程,這就造成多次觸發(fā)時,不能正常完成每個文檔上傳后的整個處理過程。這時的解決方法,就是在ItemAdded方法中手動創(chuàng)建線程。每當(dāng)ItemAdded被觸發(fā),就創(chuàng)建一個線程,來單獨處理本次觸發(fā)后的系列過程。由于調(diào)用動態(tài)鏈接庫的部分是不支持多線程的,所以這部分的執(zhí)行代碼將被放到共享池中作為共享資源被加鎖。具體執(zhí)行代碼如下:

        5 結(jié)論

        在Sharepoint EventHandler中支持多線程,可以把占用長時間的觸發(fā)過程放到后臺處理,使得EventHandler得以空閑出來去處理下一個觸發(fā)過程,而且下一個觸發(fā)過程并不會影響上一個過程的執(zhí)行,這樣就保證了每一個觸發(fā)過程單獨完整的執(zhí)行。

        [1]http://blog.csdn.net/forever_kingdom/article/details/4516651.

        [2]Multithreading Part 2: Understanding the System.Threading.Thread Class.http://www.c-sharpcorner.com/UploadFile/mmehta/Multithreading211162005044506AM/Multithreading2.aspx.

        [3]Scot Hillier.Microsoft SharePoint Building Office 2007 Solutions in C#2005Apress, 2007.

        [4]John Holliday,John Alexander.Professional SharePoint 2007 Development Wiley Publishing Inc.

        猜你喜歡
        子類開發(fā)人員線程
        卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計
        Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
        關(guān)于對稱共軛點的倒星象函數(shù)某些子類的系數(shù)估計
        淺談linux多線程協(xié)作
        讓W(xué)indows 10進入開發(fā)者模式
        電腦迷(2015年12期)2015-04-29 23:22:51
        后悔了?教你隱藏開發(fā)人員選項
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        Linux線程實現(xiàn)技術(shù)研究
        塊H矩陣新的子類
        關(guān)于Java繼承性的探討
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        99国产精品视频无码免费| 日韩精品无码熟人妻视频| 亚欧美日韩香蕉在线播放视频| 抽插丰满内射高潮视频| 亚洲香蕉毛片久久网站老妇人| 亚洲中文字幕在线第六区| 国产a∨天天免费观看美女| 300部国产真实乱| 日本a级大片免费观看| 国产麻豆极品高清另类| 亚洲gay片在线gv网站| 在线观看免费人成视频色9| 久久久久亚洲精品天堂| 国产精品成人久久a级片| 91九色免费视频网站 | 色偷偷久久一区二区三区| 亚洲AV无码专区国产H小说| 国产自拍精品在线视频| 狠狠色丁香婷婷综合潮喷| 国产av一区二区精品久久凹凸| 国产一区二区三区4区| 亚洲精品美女中文字幕久久| 国产精品h片在线播放| 蜜臀av一区二区| 久久精品国产亚洲av热九九热| 高清日韩av在线免费观看| 国产成人亚洲精品| 在线a亚洲视频播放在线观看| 蜜臀精品一区二区三区| 日韩在线永久免费播放| 亚洲va在线∨a天堂va欧美va| 校花高潮一区日韩| 丝袜美腿福利视频在线| 无码中文字幕免费一区二区三区| 亚洲综合欧美在线| 日韩男女av中文字幕| 日韩国产人妻一区二区三区| a级黑人大硬长爽猛出猛进 | 亚洲一区二区视频免费看| 国产精品乱码人妻一区二区三区| 欲妇荡岳丰满少妇岳|