我对WCF服务开发有一些经验,但有了这个要求,我想从这里的一些有经验的开发人员那里得到一些帮助/建议。这是我的情景,
我将有一个服务(REST)(让我们称之为服务1 ),它将接收来自不同服务的请求(让我们称之为 Service Main ) 。我计划将这些参数保存在数据库中,以便我可以跟踪未来步骤中的进度状态。然后我必须从服务1开始一个服务器上的进程,该进程将在确定的时间内运行(基于参数)并且让我们调用进程A 。当进程A完成其任务并返回良好结果时,我必须启动一个名为进程B 的不同进程,该进程将使用进程A生成的文件。当进程B完成其进程时业务并向服务1发送确认,然后我必须将信息发送回Service Main。
对于数据库,我计划不使用sql数据库,因为不涉及任何关系,它更像是一个缓存。我正在努力构建整个流程,以便所有这些步骤/任务都能异步运行并能够扩展和处理大量请求。
方法1:我最初的想法是让wcf或ASP.NET Web api服务(REST)使用TPL框架启动进程A并等待它完成并调用进程A的异步回调方法然后启动进程B一个新的任务。但我不确定这是否是一个好的解决方案,甚至可能。
方法2:经过多次阅读后,我认为可能在托管服务器上有一个Windows服务来启动进程A和进程B.WCF服务将与窗口服务通信以启动进程。
希望我能清楚地解释问题并等待听到一些建议。