我使用我在此处找到的模板为 Sharepoint 创建了一个简单的自定义计时器作业:http://saftsack.fs.uni-bayreuth.de/~dun3/archives/visual-studio-2005-project-template-for-sharepoint-2007-timer-jobs/142.html
我已成功部署并激活 timerJob。然后我决定在作业中添加几行代码,看看我是否可以测试我的代码。
我已经使用这些命令卸载了我的 timerJob:
Stsadm.exe -o deactivatefeature -filename "\WeeklyDigestJob\feature.xml" -url http:/
/vmsrv28:8080/sites/MySite
STSADM -o uninstallfeature -name "WeeklyDigestJob" -force
STSADM -o retractsolution -name WeeklyDigestJob.wsp -immediate
STSADM -o execadmsvcjobs
STSADM -o deletesolution -name WeeklyDigestJob.wsp -override
然后我检查了文件夹 C:\Windows\assembly,我的 DLL 并不像我预期的那样在那里。之后,我从我的 Visual Studio 2008 项目文件夹中删除了所有生成的二进制文件(DLL、WSP 文件等)并重建了解决方案。然后我使用相同的 setup.bat 文件安装我的 timerJob 并开始等待。
一分钟后(在之前的构建中计划是 2 分钟,所以我看到安装程序类正常运行,因为我将它从 2 分钟更改为 1 分钟)并且我的 timerJob 被执行。我对执行代码的更改没有显示任何效果。
我的初始代码是:
SPListItem newTask = taskList.Items.Add();
string r = DateTime.Now.ToString();
newTask["Title"] = r;
newTask.Update();
更新代码:
SPListItem newTask = taskList.Items.Add();
string r = DateTime.Now.ToString() + "New DLL";
newTask["Title"] = r;
newTask.Update();
但是我在新添加的项目的标题中没有得到任何“New DLL”字符串。
我该如何解决这个问题?谢谢。
最佳答案
您是否尝试过在 services.msc 中重新启动定时器服务?我过去发现它喜欢粘在 dll 上,直到你重新启动它
同样值得检查完整的 IISReset 是否也能帮助它获取 DLL
关于sharepoint - 这是缓存问题吗?或者是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279461/