什么时候实际调用工作流代理?
我已经安装了自己的工作流代理(this one)并写入ProcessWorkflow
中第二行的日志(第一行是使用新创建的FileInfo调用log4net XmlConfigurator.Configure
实例
日志始终在KTM Server模块之后写入。这是有道理的,因为我读了一个配置,提示WFA对工作流数据做一些事情。但是在KTM验证模块(WFA也配置为执行某些操作)之后,日志不写入。
有没有解释,为什么我没有看到任何日志条目?我也检查了kofax日志,但我没有发现任何证据。
确切的代码段如下所示:
public void ProcessWorkflow(ref IACWorkflowData workflowData)
{
XmlConfigurator.Configure(new FileInfo(@"C:\Program Files (x86)\Kofax\CaptureSS\ServLib\Configuration Files\log4net.config"));
log.Info("Workflow Agent started ...");
// rest of the code
答案 0 :(得分:0)
所以,既然我想出了如何使用Workflow Agents,我决定回答这个问题以供将来参考。
每次执行模块时都会运行工作流代理。 IIRC包括使用Batch Manager查看属性。将在已执行模块的站点上调用工作流代理。因此,如果您在服务器上执行自动模块(即PDF生成器,导出)以及在客户端站点上执行扫描和验证,则工作流代理将分别在服务器或执行该模块的客户端站上执行。
我实际上忘记了原来问题中没有用的东西,但我也遇到了问题,因为我没有使用RegAsm.exe
注册DLL。有关详细信息,请参阅我与Kofax相关的其他问题:How to correctly install Workflow Agents in Kofax?
答案 1 :(得分:0)
您也可以在代码中使用它,以便仅在您希望的时候运行逻辑:
if (workflowData.CurrentModule.Name != "Scan" || workflowData.get_NextState().Name != "Ready")
{
return;
}