【发布时间】:2011-02-18 23:37:00
【问题描述】:
使用 SharePoint,您可以使用 Feature Receiver 在安装/卸载功能等时执行一些操作。
特征接收器是从OWSTIMER服务中运行的,过程似乎大致
- .wsp(一个 cab 文件)被解压并检查
- .dll 被移动到 bin/gac
- 清单中标记的功能接收器由服务调用(只能在 GAC 中)
但是,OWSTIMER 在包含功能接收器的 dll 上保持一个句柄打开。
这意味着当您卸载该功能时,Fusion 会将 dll 移动到 c:\windows\temp\ 目录并仍然保留引用。 (更多详情here和here)
当您尝试安装新版本时(程序集文件版本不同但程序集版本必须保持不变)OWSTIMER 将运行旧功能接收器。
您可以通过重新启动 OWSTIMER 服务来阻止这种情况的发生,但这在可能有许多 Web 服务器的生产场环境中是不切实际的。
有人知道任何解决方法吗?
【问题讨论】:
标签: .net sharepoint gac fusion