我创建了一个在项目更新时触发的 SharePoint 事件接收器。接收方需要访问 AfterProperties 和 ListItem。
当使用 IP 地址 ( http://10.0.4.50/sites/ ) 从 SharePoint Web 应用程序触发事件接收器时,它会在访问 SPItemEventProperties 中的 SiteId 和 WebUrl 时 引发FileNotFoundException 。找不到位于http://10.0.4.50/sites/companyName的 Web 应用程序。验证您是否正确键入了 URL。
使用主机名触发事件接收器时,在站点集合http://computerhostname/sites/companyName的设置中指定。这工作正常,不会抛出异常。
//Combine Both AfterProperties And ListItem
var ListProperties = new List<KeyValuePair<string, object>>();
ListProperties.AddRange(properties.AfterProperties.ToKeyValue());
ListProperties.AddRange(properties.ListItem.ToKeyValue(p => !p.Sealed));
var AvaliableProperties = ListProperties.Distinct(new KeyValueComparer<object>());