SharePoint 2013 App Remote Event Receivers

时间:2022-06-03 19:28:58

  当我们在使用App的时候,就会发现一些问题,比如那些网站部署、更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了。

  1、在我们的测试App的解决方案上选中鼠标,按F4弹出属性,选中我们需要的处理应用程序,选中True;同时,VS会自动创建一个解决方案,让我们在里面写远程事件接收器的相关代码。

SharePoint 2013 App Remote Event Receivers

  2、在创建的远程事件接收器的解决方案中,打开svc的代码,然后添加我们的代码(附后),判断如果触发的是安装App的事件,在一个AppInstallLog的列表中插入一条安装记录。

SharePoint 2013 App Remote Event Receivers

  3、附后的代码,代码很简单,提升权限写列表库,就不多说了;写完代码以后,将这个web站点发布到服务器的IIS目录下;

if (properties.EventType == SPRemoteEventType.AppInstalled)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite("http://url:2014"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["AppInstallLogs"];
SPListItem item = list.Items.Add();
item["标题"] = "SP2013PictureWallApp";
item["日志"] = "SP2013PictureWallApp于 " + DateTime.Now.ToString() + " 已经被安装!";
item.Update();
}
}
});
}

  4、在App的解决方案中,找到AppManifest.xml文件,右键查看代码,修改InstalledEventEndpoint为我们之前发布的站点中svc文件目录;

SharePoint 2013 App Remote Event Receivers

  5、我们在一个站点中添加我们的App,而后查看AppInstallLogs列表库,发现已经写入一条安装日志了,说明远程事件接收器开发部署成功!

SharePoint 2013 App Remote Event Receivers

结束语

  以上介绍的是App安装过程中,触发事件写入安装日志的过程,其实,远程事件接收器还可以完成更加丰富的工作,比如像SharePoint解决方案中的事件触发器,为App中的列表或者文档库添加事件,这就需要我们创建Remote Event Receiver解决方案了。

特别推荐

  上面内容的思路参考自《Microsoft SharePoint 2013 App Development》一书,自己简单看了看目录,对于App开发介绍还是非常不错的,推荐给大家!