我们有一个当前运行的WCF服务和COBOL VM进行通信,以提供对Vision文件数据的访问.该过程有效,但我们必须将WCF服务限制为[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single)].它可以工作,但有时对用户来说似乎很慢,因为它们正在排队,有些请求有时会超过几秒钟.
COBOL VM是一个单例,所以我不相信我可以将我的COBOL程序与多个WCF服务请求隔离,而不会相互踩踏.COBOL程序无法知道哪个客户端调用什么,它只返回/操作数据.
我的想法是在COBOL中创建一个程序来管理我对我的请求,但我不知道如何将这些信息反馈给WCF服务,以便它响应正确的客户端请求.
我的想法是传递一些WCF客户端请求的ID,就像一个guid.COBOL程序将存储WCF guid并调用另一个程序,该程序使用guid在COBOL中为我获取数据.然后COBOL程序返回带有ID的数据,但我需要一些方法来确保将正确的请求数据路由到正确的WCF客户端请求.
过程:
WCF Client 1->WCF Service (creates WCF_id1)->COBOL program 1(WCF_id1)->COBOL getData(WCF_id1).
WCF Client 2->WCF Service (creates WCF_id2)->COBOL program 1(WCF_id2)->COBOL getData(WCF_id2).
WCF Service stores both Wcf_id1 and Wcf_id2 somehow associating them with the WCF Client that requested them.
COBOL program 1 stores both Wcf_id1 and Wcf_id2 and makes the request to COBOL getData individually passing in the ids.
Both Client 1 and Client 2 are waiting for a response.
COBOL getData(WCF_id2)->COBOL …Run Code Online (Sandbox Code Playgroud)