SharePoint發行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強大的團隊協作環境,使得組織能夠在整個組織內部實現整合、組織、查找和提供 SharePoint站點。 主要就是關于事件觸發器的同步/異步的設置以及作用。 其實接觸SharePoint頗久,對于事件觸發器寫的不多,但是同步/異步這個概念還是了解的,不過沒有深究罷了。今天,和大家討論了一下,也更加深刻的理解了這個概念;當然,有人說異步是單開一個線程操作,這個我不了解,但是不反對,因為無論如何,不是執行完畢操作立即執行事件,這就是異步了,我們不討論內部機制是如何開辟線程,或者組織異步隊列的。 SharePoint中事件觸發器,關于before事件(就是ing標志的事件),默認都是同步的,我理解就是完成一個操作之前,馬上執行這個事件;而after的事件(就是ed標志的事件),默認都是異步的,也就是完成一個操作,不是立刻馬上執行事件。至于為什么ed結尾的事件都是異步的呢?因為SharePoint為了方式UI上的操作和觸發的事件沖突,所以把它設置為異步,至于內部如何處理異步,我覺得沒必要太摳細節了。 關于before事件,就是完成操作之前觸發,這個只能是同步,SharePoint不允許定義為異步;而after事件呢?就是完成操作之后觸發,默認異步,但是可以設置為同步,但是設置為同步以后,就不能再更新屬性了,防止和UI操作的沖突。 舉個簡單的例子,上傳一個文檔,然后都OK了彈出了上傳以后的標題,然后UI會彈出修改屬性的頁面,這時,時間觸發器同步修改了標題,但是卻沒有被屬性頁面加載出來,所以這時修改屬性,會造成保存上的沖突。當然,有人說執行完事件以后,再彈出UI修改屬性的頁面,這樣如果事件需要時間,就會造成效率上的問題。 當然例子比較簡單,就是給大家理解加一個參考罷了。也許自己的理解并不夠深刻,希望有獨特見解的,大家能夠留言討論。 簡單介紹下,after事件如何設置同步,在屬性的xml文件里,設置即可,如下:
Sharepoint 可以幫助企業用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請收藏一下本站!