亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

SharePoint 2007圖文開發教程(5) 體驗Event Handler

2020-07-14 13:15:48
字體:
來源:轉載
供稿:網友

Event Handler

Event Handler是SharePoint中與文檔庫或列表相關聯的事件處理程序,當我們對項目進行某些操作時,Event Handler就會截獲這個事件,然后相應的進行操作。功能上比較像數據庫中的觸發器。比如:刪除某個文件時向管理員發送一個郵件,添加一個列表時進行其他操作等等。
和2.0相比,WSS3.0對Event Handler提供了更強大的支持,如:列表,文檔庫,內容類型。并且支持同步和異步的操作等。

為SharePoint提供一個Event Handler并不是很費力,主要包括:開啟Event Handler支持,編寫Event Handler程序,向SharePoint中部署Event Handler。接下來逐一說明一下。

開啟Event Handler支持

默認情況下是不開啟Event Handler支持的,需要我們手動開啟:進入應用程序管理---進入Web應用程序常規設置。

開啟事件處理程序:

這樣就完成了對Event Handler開啟的支持。

編寫Event Handler程序

SharePoint的Event Handler其實是一個類,這個類主要繼承WSS中的SPWebEventReceiver,SPEmailEventReceiver,SPListEventReceiver,SPItemEventReceiver,IListEventSink類,并且重寫相應的方法來完成我們的需求。

這里做個簡單的例子,當我們刪除一個Items時,向日志文件中添加一條記錄。

直接看代碼:

C# Code復制內容到剪貼板

  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Text;   
  4. using System.IO;   
  5.   
  6. using Microsoft.SharePoint;   
  7.   
  8. namespace EventHandlerText   
  9. {   
  10.     public class ItemLogEvent : SPItemEventReceiver   
  11.     {   
  12.         /// <summary>   
  13.         /// 重寫ItemDeleting,向日志文件寫數據   
  14.         /// </summary>   
  15.         public override void ItemDeleting(SPItemEventProperties properties)   
  16.         {   
  17.             string path = @"c:/Log.txt";   
  18.   
  19.             string text = "刪除Item" + ":" + DateTime.Now.ToString();   
  20.   
  21.             StreamWriter writer = new StreamWriter(path);   
  22.   
  23.             writer.Write(text);   
  24.   
  25.             writer.Close();   
  26.         }   
  27.   
  28.     }   
  29. }  

是不是很簡單,接下來我們按照為WebPart添加密鑰文件的方法,為我們的Event Handler添加密鑰文件,添加的目的我在部署的時候再說。這樣,簡單的Event Handler就完成了。

向SharePoint中部署Event Handler

和WebPart有所不同的是,Event Handler的dll需要放到GAC(Global Assembly Cache)中,而不能放在SharePoint網站的bin文件夾中,所以我們生成的dll必須進行強簽名,這也就是上面為什么添加密鑰文件的目的。

GAC的系統路徑為:C:/WINDOWS/assembly,直接將生成的Event Handler dll拖入到這個路徑中即可。

先來看下SharePoint中的情況:

在我們先前創建的網站中,我創建了一個文檔庫的List,并且上傳了一個word文件,我們的Event Handler就是要添加到這里。

接下來就是將這個Event Handler部署到SharePoint中??梢酝ㄟ^代碼的形式,也可以通過Feature的形式。這里介紹下代碼的形式。

創建一個批處理程序(當然win程序也可以),添加如下代碼:

C# Code復制內容到剪貼板
  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Text;   
  4.   
  5. using Microsoft.SharePoint;   
  6.   
  7. namespace RegisterEvent   
  8. {   
  9.     class Program   
  10.     {   
  11.         static void Main(string[] args)   
  12.         {   
  13.             try  
  14.             {   
  15.                 SPSite site = new SPSite("http://gao:8000/sites/Brian_Publication/");//指定網站   
  16.   
  17.                 SPWeb web = site.OpenWeb();   
  18.   
  19.                 SPList list = web.Lists["文檔庫"];//指定List   
  20.   
  21.                 list.EventReceivers.Add(SPEventReceiverType.ItemDeleting, "EventHandlerText, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d965453379ac249""EventHandlerText.ItemLogEvent");//添加Event Handler   
  22.   
  23.                 Console.WriteLine("發布完成");   
  24.   
  25.                 Console.ReadLine();   
  26.             }   
  27.             catch (Exception ex)   
  28.             {   
  29.                 Console.WriteLine(ex.Message);   
  30.                 Console.ReadLine();   
  31.             }   
  32.               
  33.         }   
  34.     }   
  35. }  

代碼很容易,想必大家一看就能明白,找到工程生成的可執行文件,運行:

 這樣就代表我們的Event Handler發布成功啦!至此,Event Handler的部署工作也就完成啦!

最后我們來測試下,進入文檔庫,刪除那個“LINQ中文教程”word文件。到C:/下看下Log.txt:

OK,我們的Event Handler執行了,實現了我們想要的效果。 

小結:有關Event Handler的內容就介紹到這里,相信大家認真的看一邊就可以很輕松的掌握,當然有關Event Handler的內容還不止這些,需要在平時的應用中多多積累。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产玖玖精品视频| 国产日韩在线一区| 国产a级全部精品| 国语自产精品视频在线看抢先版图片| 日韩国产精品亚洲а∨天堂免| www.久久草.com| 九色91av视频| 91精品国产综合久久香蕉最新版| 亚洲一区二区精品| 成人妇女免费播放久久久| 久久久久亚洲精品成人网小说| 日韩二区三区在线| 午夜精品久久久久久久99黑人| 亚洲精品美女在线观看播放| 日韩免费在线观看视频| 国产一区二区三区三区在线观看| 韩国v欧美v日本v亚洲| 亚洲国产婷婷香蕉久久久久久| 亚洲欧洲一区二区三区久久| 国产97在线播放| 亚洲自拍偷拍视频| 亚洲一级一级97网| xxx欧美精品| 日韩欧美成人精品| 久久久视频免费观看| 一个色综合导航| 国产成人精品免费久久久久| 在线观看精品国产视频| 亚洲色图五月天| 国产精品专区第二| 久久99国产精品自在自在app| 久久久日本电影| 精品激情国产视频| 97av在线影院| 日韩中文字幕免费视频| 亚洲国产成人精品女人久久久| 欧美精品日韩www.p站| 亚洲精品美女久久久久| 亚洲欧美一区二区精品久久久| 亚洲国产精品久久久| 欧美午夜精品伦理| 一区二区三区www| 久久免费视频这里只有精品| 日本不卡视频在线播放| 午夜剧场成人观在线视频免费观看| 成人黄色免费片| 成人激情视频在线播放| 久久久综合av| 日韩成人av网址| 亚洲综合成人婷婷小说| 91av中文字幕| 6080yy精品一区二区三区| 精品国模在线视频| 日韩精品视频三区| 欧美在线观看www| 久久精品亚洲精品| 国产精品中文字幕久久久| 欧美极品在线视频| 亚洲电影免费观看高清完整版在线| 亚洲人线精品午夜| 日韩国产精品视频| 中文字幕av一区中文字幕天堂| 久久福利网址导航| 久久精品国产欧美激情| 92国产精品视频| 亚洲男人天堂视频| 欧美丝袜一区二区三区| 成人妇女淫片aaaa视频| 国产精品久久久久久久久久东京| 成人a视频在线观看| 最新国产成人av网站网址麻豆| 日韩精品在线观看一区二区| 在线亚洲男人天堂| 欧美精品日韩三级| 亚洲日韩中文字幕在线播放| 91最新在线免费观看| 国产精品91久久久| www.国产精品一二区| 中文在线资源观看视频网站免费不卡| 国产欧美一区二区三区四区| 91高清视频免费观看| 久久精品99久久香蕉国产色戒| 在线成人激情黄色| 亚洲成人黄色网| 日韩精品一区二区视频| 久久久久久亚洲精品不卡| 2021久久精品国产99国产精品| 成人a级免费视频| 国产精品91在线观看| 91精品国产成人| 国产精品国产亚洲伊人久久| 亚洲第一视频网| 97在线看福利| 91精品久久久久久久久久久久久| 国产99在线|中文| 日韩在线观看高清| 久久99久国产精品黄毛片入口| 中文字幕在线观看亚洲| 成人在线国产精品| 亚洲精品视频免费| 欧美成人性生活| 久久精品亚洲热| 中文字幕少妇一区二区三区| 欧美制服第一页| 97视频在线免费观看| 国产丝袜高跟一区| 日韩一区二区久久久| 亚洲精品一区二区网址| 中文字幕免费精品一区高清| 神马久久桃色视频| 亚洲在线免费看| 日韩综合视频在线观看| 久久久噜噜噜久久| 久久成人精品一区二区三区| 98午夜经典影视| 欧美午夜激情小视频| 国产成人涩涩涩视频在线观看| 日本欧美一二三区| 亚洲自拍高清视频网站| 成人精品网站在线观看| 亚洲人成网站免费播放| 波霸ol色综合久久| 亚洲自拍偷拍色图| 日韩电影网在线| 欧美大荫蒂xxx| 欧美日韩一区二区免费在线观看| xx视频.9999.com| 国产午夜精品免费一区二区三区| 亚洲电影成人av99爱色| 久久色精品视频| 国产成人精品视频在线观看| 亚洲一区中文字幕在线观看| 7777精品久久久久久| 国语自产精品视频在免费| 亚洲免费av网址| 国产精品电影一区| 国产噜噜噜噜久久久久久久久| 国产精品自拍视频| 亚洲少妇激情视频| 日韩亚洲欧美中文高清在线| 国产免费观看久久黄| 亚洲摸下面视频| 97免费视频在线播放| 亚洲电影在线看| 久久久人成影片一区二区三区| 久久人91精品久久久久久不卡| 国产69精品久久久久99| 国产精品天天狠天天看| 亚洲欧美制服另类日韩| 久久精品美女视频网站| 欧美日韩一区二区在线| 国产欧美一区二区三区久久| 成人激情视频免费在线| 久久亚洲一区二区三区四区五区高| 亚洲精品一区久久久久久| 欧美性黄网官网| 亚洲一区中文字幕在线观看| 国内精品久久久久久久久| 国产日韩av在线| 欧美成人激情图片网| 668精品在线视频| 国产91精品不卡视频| 欧美综合第一页| 欧美黄色小视频|