Workflow foundation 4 IIS7.5应用程序池/工作进程混合问题中的工作流服务(WF4)
问题 不同应用程序池中my 2 Workflow Services的WCF请求未由其各自的工作进程处理。相反,两个工作进程都在处理两个工作流服务的WCF请求。此问题仅在“集成”托管管道模式下发生,而不是在“经典”托管管道模式下发生 设置Workflow foundation 4 IIS7.5应用程序池/工作进程混合问题中的工作流服务(WF4),workflow-foundation-4,iis-7.5,workflowservice,Workflow Foundation 4,Iis 7.5,Workflowservice,问题 不同应用程序池中my 2 Workflow Services的WCF请求未由其各自的工作进程处理。相反,两个工作进程都在处理两个工作流服务的WCF请求。此问题仅在“集成”托管管道模式下发生,而不是在“经典”托管管道模式下发生 设置 运行在IIS 7.5中的2个VoService服务(工作流基础4)。李> 每个工作流服务在IIS中设置为应用程序,并具有自己的应用程序池和自己的标识凭据 应用程序池以“集成”托管管道模式运行 说明 比如说,我让工作流服务A(WFSA)和B(WFSB)分别在U
- 运行在IIS 7.5中的2个VoService服务(工作流基础4)。李>
- 每个工作流服务在IIS中设置为应用程序,并具有自己的应用程序池和自己的标识凭据李>
- 应用程序池以“集成”托管管道模式运行
- WFSA==>WFSB(UserA):WFSA在WFSB上实例化一个新工作流,该工作流在UserA的w3wp.exe上处理
- WFSB(UserA)=>WCFApp:WFSB调用WCFApp,它执行一些处理李>
- WCFApp==>WFSB(UserB!!!):处理后,WCFApp通知WFSB已完成。但是WCF消息由UserB的w3wp.exe进程处理!!!当然,那里不存在工作流实例,因此会出现以下错误消息:
<workflowIdle timeToUnload="00:00:00" />
这意味着工作流在空闲时将立即得到持久化,并且可以处理发送到错误工作进程的消息,因为它可以在持久化数据库中找到工作流实例。但是,这个解决方案是不可接受的,因为持久性非常慢。我感觉这两个服务都在向IIS注册类似于相同的“标识符”,尽管我不能告诉您这是什么(可能是相关Id?)。因此,消息被路由到这两个服务。我还感觉到,在集成管道中,只有一个到服务的优化管道,并且有多个服务在其中注册(这就是我前面提到的问题)。AppFabric有几个热修复程序,其中一个似乎与您遇到的问题有关。寻找链接。有趣的想法。即使相关ID相同,WCF端点URI也不同。消息是否应该根据端点URI路由到正确的工作进程?如果你说的是真的,我觉得这是一个错误。这看起来很有希望。我将很快对此进行测试。在应用以下修补程序后,问题消失了。谢谢我在使用IIS Express进行开发时遇到了这个问题。有什么建议吗?中的AFAIK IIS Express与AppFabric不兼容。以下是有关我的问题的更多详细信息: