我已将事件接收器创建/绑定到Share Point 2010中的文档库,以读取excel文件的内容并从内容中加载列表。
在开发过程中一切运行良好,我无法访问生产服务器,因此我将一张票据记录到I.T部署到生产服务器(附加了ER的.wsp)。
这家伙已经在生产中部署/激活了ER,现在我不知道如何将它附加到特定的文档库以及如何验证是否/何时附加它。
答案 0 :(得分:1)
如果您使用的是VS2010 SharePoint模板,并且它要求您提供特定的库,则可能需要为生产库修改它。在VS解决方案中,查看elements.xml文件。你应该在顶部看到一个。如果您的事件处理程序的范围限定为Web,则可以更改" ..."到实际的库名。示例:。
重建WSP。您的支持组应该运行add-spsolution和install-spsolution powershell命令来添加它并将其安装到服务器场。
如果您可以通过问题功能(网站设置 - >管理网站功能)访问子网站,您应该会看到您的事件处理程序存在但已停用。
点击激活它。
没有服务器访问权限(查看14个配置单元中的日志)很难真正看到它是否已附加。如果您的支持团队使用SharePoint Manager,他们可以查看处理程序是否真正附加到相关库。除此之外,我所看到的人在他们的处理程序(项目添加/更新/等)中放置了一小块代码,这些代码将在库触发时更新库中的状态列(例如"处理程序被解雇")。这样你就可以看到它是否正在射击。此外,您可以将代码中可能出现的任何错误消息添加到此列中(例如"无法将文件加载到列表"等等。")。
答案 1 :(得分:1)
如果使用您的WSP,包含事件接收器的DLL在生产中部署在GAC中,那么您可以使用powershell将事件接收器附加到列表/库。
$type = "ItemAdding" #or any other type, like ItemDeleting, ItemAdded, ItemUpdating ...
$assembly = "YourAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5eff...(here goes assebly's token"
$class = "Your Class"
$list.EventReceivers.Add($type, $assembly, $class)