SharePoint 2013 App Remote Event Receivers

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

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

clip_image001

  二、在建立的远程事件接收器的解决方案中,打开svc的代码,而后添加咱们的代码(附后),判断若是触发的是安装App的事件,在一个AppInstallLog的列表中插入一条安装记录。测试

clip_image002

  三、附后的代码,代码很简单,提高权限写列表库,就很少说了;写完代码之后,将这个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();
            }
        }
    });
}

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

clip_image003

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

clip_image004

结束语日志

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

特别推荐xml

  上面内容的思路参考自《Microsoft SharePoint 2013 App Development》一书,本身简单看了看目录,对于App开发介绍仍是很是不错的,推荐给你们!blog

相关文章
相关标签/搜索