我希望这个问题不要太开放,但基本上我需要创建一个可以管理流程的程序。将完成的处理将包含许多需要很长时间才能完成的步骤(生成报告,并通过电子邮件发送等)。
用于管理流程的方法签名如下所示:
int StartProcess(string inputData)
{
return Process.Start();
}
bool Pause(int processId)
{
return false;
}
bool ResumeProcess(int processId)
{
return false;
}
string GetProcessStatus(int processId)
{
return "running";
}
我不能完全理解的部分是我将如何管理进程的状态(多个进程需要 top 能够同时运行)。
最好的方法是将状态信息存储在数据库中,然后在流程中的每个步骤完成时更新状态字段?是否需要数据库表?
是否有任何免费的 3rd 方库可以让我实现这样的东西?我认为这是一个相当普遍的问题。
像 K2 blackpearl 或其他没有花哨用户界面的工作流应用程序......