我们有一个与列表相关联的远程事件接收器,并与那里的所有事件挂钩。当您使用 OOB SharePoint 页面更新任何列表项时,将执行事件接收器;负责后续操作的 Web 服务运行良好。但是,当您更新项目使用 CSOM 代码时,例如在简单的控制台应用程序中,没有任何反应。根本不调用事件接收器。我在 SP 2013 和 2016 上都发现了这个问题。
我不会发布任何不相关的代码:使用标准方法更新项目并且列表项目中的值实际上已更改,只有事件接收器不会被触发。简而言之:从站点手动更新项目 -> 事件接收器触发的项目通过 CSOM 更新 -> 事件接收器未触发。
我记得使用服务器端代码和系统帐户时 SharePoint 2010 上的类似问题。会不会是 CSOM 调用的后台 Web 服务(例如 list.asmx)也在使用系统帐户进行更改?这只是假设...