结合/聚合许多底层服务响应的WCF路由器

时间:2015-03-26 12:16:55

标签: c# .net wcf wcf-configuration wcf-routing

我有一个带有两个底层服务的WCF路由服务。我想要工作的是组合两个后端服务的响应并返回一个聚合响应(由两个服务中的每一个组成,由路由器调用)。

这两个服务中的每一个都返回字符串数组。例如,如果第一个服务返回new string[2] { "red", "green" }而第二个服务返回new string[2] { "table", "chair" },则从路由器返回客户端的整个最终响应为new string[4] { "red", "green", "table", "chair" }

提前致谢!

1 个答案:

答案 0 :(得分:1)

除非我遗漏了你的问题,否则以下是你要找的东西?

假设一个名为GetAggregatedResponse的WCF服务方法:

public string[] GetAggregatedResponse()
{
    string[] service1Response = callService1AndGetResult();
    string[] service2Response = callService2AndGetResult();
    string[] aggregatedResponse = service1Response.Concat(service2Response).ToArray();
    // Or if you would like to remove duplicates from the results:
    // string[] aggregatedResponse = service1Response.Union(service2Response).ToArray();
    return aggregatedResponse;
}