我正在尝试为HPC群集创建一个简单的WCF / SOA应用程序,我不确定HPC是否提供了将SOA响应链接到生成它的任务的方法。
按照我的教程,我创建了代码,将任务提交到集群,如下所示:
using (var proxy = new BrokerClient<WcfMathService.IMath>(session, binding)){
...
proxy.SetResponseHandler<WcfMathService.RunTaskResponse>(doSubmit_ServiceCallback, m_signal);
...
proxy.SendRequest(new WcfMathService.RunTaskRequest(i, args.taskTime, args.taskFailureChance));
使用SendRequest立即获取任务ID会很有用,但我不知道从哪里获取它,BrokerClient似乎不知道。
稍后,在我的回调代码中,我可以从服务任务返回的int中获取一个数组: int [] r = response.Result.RunTaskResult;
但是,从响应中我不知道如何猜测生成它的任务。我可以传递一个带有请求的标识符,然后在结果数组中再次传回它,但这不是很优雅,并且存在如果任务因未处理的异常而崩溃的问题,我不知道哪个任务失败了。
我不得不承认,我对如何使用HPC集群进行适当的任务管理感到困惑。