更新WSS 3.0事件处理程序

时间:2011-01-04 22:05:54

标签: c# sharepoint

我在WSS 3.0环境中实现了一个事件处理程序。我创建了一个VS项目,其中包含一个继承自SPEventItemReceiver的新类。我构建了我的项目,并通过复制/粘贴手动将此程序集部署到GAC。我使用一个简单的控制台程序将事件处理程序添加到我的SharePoint列表中。我的事件处理程序代码的第一次迭代按预期工作。

在下一步中,我更新了事件处理程序中的代码以更改功能。我尝试从GAC中删除程序集并重新添加它。这没有用。我已取消注册并重新注册我的事件处理程序列表,这也没有好处。即使代码不同,我已经重新部署了程序集 - 我仍然使用旧的(原始)功能。

此更改的一个示例:最初我分配了一个带有硬编码值的文本字段。在更新的代码中,分配仍然存在,但我已经更改了我正在分配的硬编码值。现在,当事件处理程序触发时 - 它仍然分配原始值。

任何人都可以帮助我理解为什么我的更新代码不起作用以及我将如何部署更新的事件处理程序代码?

感谢!!!

2 个答案:

答案 0 :(得分:4)

在GAC中更新程序集后,您只需要IISRESET

答案 1 :(得分:0)

Madhur的建议适用于测试变更。您可能需要为所有进程重新启动更多服务(即计时器服务)才能使用新程序集。 IISReset也不是将更新的程序集加载到ASP.Net进程的最佳方法,但对于开发机器来说已经足够了。

要获得更强大的部署,您应该使用SharePoint内置的功能基础架构。即本文http://developers.de/blogs/adis_jugo/archive/2009/03/12/develop-and-deploy-a-sharepoint-event-receiver-from-the-scratch.aspx涵盖了正确部署接收器所需的所有步骤。