如果我更新包含工作流的程序集,我必须重新启动相应的Windows进程以获取新的程序集。
对于Web部件&东西,这只是问题的IIS应用程序池(iisapp / r),对于计时器作业,它是OWSTIMER.exe(net stop / start SPTimerV3)
但谁负责运行工作流程?它们是否在IIS'应用程序池中运行,并在使用iisapp / r重新启动应用程序池时重新启动?如果是,要重新启动哪个AppPool,如果我有一个用于站点(:80)和一个用于中央管理员(:49173)?
编辑:在答案之后,我设法将调试器附加到服务器,并且至少在feature.xml中作为Scope =“Site”的工作流确实在w3wp中运行。应用程序池的exe。我没有测试过农场级工作流程。
答案 0 :(得分:2)
SharePoint中的工作流实例在sptimerv3.exe进程或w3wp.exe进程中运行。在任何特定时间运行的实例取决于最近等待的活动。如果工作流由于用户交互操作而启动,或者在等待面向Web的用户活动后重新启动,则工作流实例将在w3wp.exe进程上执行。如果工作流实例由于Delay活动(某些超时)而重新启动,那么它将在v3timer.exe进程上运行。
我建议您使用Visual Studio 2008内置的SharePoint工作流模板,并在开发计算机上安装Visual Studio 2008和SharePoint 2007。这避免了SharePoint中调试工作流程的大多数复杂性,因为Visual Studio 2008将负责处理它。
或者,您可以使用Visual Studio连接到两个进程来进行调试,它可以正常工作。
在您的网站列表上运行的工作流实例会在您的中央管理进程上运行而不是。
答案 1 :(得分:1)
层次结构如下:
某个SharePoint Web应用程序的工作流在为托管该特定Web应用程序的应用程序池设置的工作进程中运行。
管理中心通常有自己的AppPool,因此在您的情况下,您需要重新启动站点的AppPool(:80)。
答案 2 :(得分:0)
Sharepoint工作流程在 OWSTIMER 流程
上运行