我对 WF 还是很陌生,所以如果我第一次没有正确表达这个词,请耐心等待。 ;)

如果您正在对规范化良好的数据库进行选择,使用主键,返回单个记录,在相当低的容量环境中(每天几百个请求),那么使用 CodeActivityAsyncCodeActivity 真的有区别吗?

虽然我有一些关于托管和执行的额外研究要做,但可能但不太可能同时或几乎同时收到多个请求。我不确定这是否会改变答案。

谢谢!

最佳答案

微软在他们的 ExecuteSqlQuery 事件中使用了非异步:http://wf.codeplex.com/releases/view/43585

异步事件:
“这对于必须执行异步工作的自定义事件非常有用,而无需持有工作流调度程序线程并阻止任何可能能够并行运行的事件。”

“由于采用异步方式,AsyncCodeActivity 可能会在执行过程中引发空闲点。由于异步工作的 volatile ,AsyncCodeActivity 在事件执行期间始终创建无持久块。这会阻止工作流运行时持久化异步工作中间的工作流实例,并防止在异步代码执行时卸载工作流实例。”

资料来源:http://msdn.microsoft.com/en-us/library/ee358731.aspx

编辑:我注意到只指出了使用 async 的缺点我会考虑 Ron 和 Tim 的 react 来做出更好的决定

10-08 03:58