Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 从SPItemEventProperties打开上下文SPSite时出现问题_Sharepoint_Wss 3.0 - Fatal编程技术网

Sharepoint 从SPItemEventProperties打开上下文SPSite时出现问题

Sharepoint 从SPItemEventProperties打开上下文SPSite时出现问题,sharepoint,wss-3.0,Sharepoint,Wss 3.0,在下面的代码中 // class overrides SPItemEventreceiver public override void ItemAdding(SPItemEventProperties properties) { using (var site = new SPSite(properties.SiteId)) //SiteId is GUID <<corrected { ... } } 解决此问题的一种方法是硬编码(或配置)备

在下面的代码中

// class overrides SPItemEventreceiver    
public override void ItemAdding(SPItemEventProperties properties)
{    
  using (var site = new SPSite(properties.SiteId)) //SiteId is GUID <<corrected
  {
      ...
  }
}

解决此问题的一种方法是硬编码(或配置)备用访问映射中指定的URL。将正确的URL放入备用访问映射中最终是正确的解决方案,但如果可能,我需要一个不需要配置的解决方案。

SiteId不应该是整数-SPSite-ctor只接受URL或GUID。考虑到它是一个GUID,我不知道AAM在这里是如何发挥作用的。另一种方法可能是使用:

properties.OpenWeb().Site
此外,由于您处于同步事件处理程序中,您应该可以访问SPContext.Current.Site(除非您在文档库中捕获事件-sharepoint长期存在的错误意味着doclibs-shitty的同步事件中没有上下文)


-Oisin

站点ID不应该是整数-SPSite-ctor只接受URL或GUID。考虑到它是一个GUID,我不知道AAM在这里是如何发挥作用的。另一种方法可能是使用:

properties.OpenWeb().Site
此外,由于您处于同步事件处理程序中,您应该可以访问SPContext.Current.Site(除非您在文档库中捕获事件-sharepoint长期存在的错误意味着doclibs-shitty的同步事件中没有上下文)


-最终答案是正确的。从SPItemEventProperties打开网站或web的其他方法根本不起作用。。i、 e.properties.OpenWeb()和新的SPSite(properties.SiteId)。我没有尝试访问SPContext,也许这会奏效,但替代的访问方法已经纠正,打开站点的标准方法也在起作用。谢谢你的意见。最终的答案是正确的。从SPItemEventProperties打开网站或web的其他方法根本不起作用。。i、 e.properties.OpenWeb()和新的SPSite(properties.SiteId)。我没有尝试访问SPContext,也许这会奏效,但替代的访问方法已经纠正,打开站点的标准方法也在起作用。谢谢你的意见。