我在 Share Point 2010 中创建/绑定了一个事件接收器到文档库,以读取 excel 文件的内容并从内容中加载列表。
一切在开发中运行良好,我无权访问生产服务器,因此我记录了将 IT 部署到生产服务器的票证(附加 ER 的 .wsp)。
这家伙已经在生产中部署/激活了 ER,现在我不确定如何将它附加到特定的文档库以及如何验证它是否/何时附加。
我在 Share Point 2010 中创建/绑定了一个事件接收器到文档库,以读取 excel 文件的内容并从内容中加载列表。
一切在开发中运行良好,我无权访问生产服务器,因此我记录了将 IT 部署到生产服务器的票证(附加 ER 的 .wsp)。
这家伙已经在生产中部署/激活了 ER,现在我不确定如何将它附加到特定的文档库以及如何验证它是否/何时附加。
如果使用 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)
资料来源: http: //naimmurati.wordpress.com/2012/03/22/add-modify-or-delete-list-event-receivers-with-powershell/
如果您使用 VS2010 SharePoint 模板并且它要求您提供特定库,您可能必须针对您的生产库修改它。在您的 VS 解决方案中查看 elements.xml 文件。您应该在顶部看到一个。如果您的事件处理程序的范围为 web,您可以将“...”更改为实际的库名称。例子: 。
重建 WSP。您的支持小组应该运行 add-spsolution 和 install-spsolution powershell 命令来添加它并将其安装到服务器场。
如果您可以在问题功能(站点设置->管理站点功能)中访问子站点,您应该会看到您的事件处理程序存在但已停用。
单击以激活它。
如果没有服务器访问权限(查看 14 配置单元中的日志),很难真正查看它是否已连接。如果您的支持团队使用 SharePoint Manager,他们可以查看处理程序是否真的附加到相关库。除此之外,我看到人们所做的就是在他们的处理程序中放入一小块代码(项目添加/更新/等),当它触发时会更新库上的状态列(例如“处理程序被触发”)。这样你就可以真正看到它是否正在发射。此外,您可以将代码中可能出现的任何错误消息放入此列(例如“无法将文件加载到列表”等”)。