当我们在使用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解决方案了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注