SharePoint 2013 App Remote Event Receivers

简介:   当我们在使用App的时候,就会发现一些问题,比如那些网站部署、更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了。   1、在我们的测试App的解决方案上选中鼠标,按F4弹出属性,选中我们需要的处理应用程序,选中True;同时,VS会自动创建一个解决方案,让我们在里面写远程事件接收器的相关代码。

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

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

clip_image001

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

clip_image002

  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文件目录;

clip_image003

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

clip_image004

结束语

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

特别推荐

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

目录
相关文章
|
2月前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
3月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
|
3月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
在尝试使用Azure Logic App创建由Event Hub触发的工作流时,配置了Active Directory OAuth认证但仍遇到认证失败的问题。错误信息提示找不到指定的租户ID。尽管已设置了正确的Azure中国环境Authority,认证请求似乎仍指向全球Azure环境。这可能是Logic App服务本身的局限导致。作为替代方案,可采用Connection String或Managed Identity方式进行认证,两者均可正常工作。此外,通过Azure Function App复现此问题,进一步验证这是服务层面而非配置问题。相关文档和教程可在Azure官方文档中找到。
|
3月前
【Azure 事件中心】在Azure Function App中消费Event Hub数据,时常出现EventReceiveError
【Azure 事件中心】在Azure Function App中消费Event Hub数据,时常出现EventReceiveError
|
6月前
|
XML Java Android开发
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
102 0
Android App事件交互Event之模仿京东App实现下拉刷新功能(附源码 可直接使用)
|
6月前
|
XML Java Android开发
Android App开发触摸事件中手势事件Event的分发流程讲解与实战(附源码 简单易懂)
Android App开发触摸事件中手势事件Event的分发流程讲解与实战(附源码 简单易懂)
101 0
|
6月前
|
XML 监控 Java
Android App开发之事件交互Event中检测软键盘和物理按键讲解及实战(附源码 演示简单易懂)
Android App开发之事件交互Event中检测软键盘和物理按键讲解及实战(附源码 演示简单易懂)
735 0
|
关系型数据库 虚拟化 RDS
|
调度 Android开发
Android5.0L退出APP横竖屏切换导致的触摸屏输入(Touch Event)无效(冻屏)问题分析(Key Event仍然有效)
一、问题现象 1、多次进出需要强制横屏的app,比如Real FootBall2015,在退出app的时候会有概率出现退出卡顿,然后TP无法输入的问题。
2309 0
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
531 7
下一篇
无影云桌面