我有一个带有两个底层服务的WCF路由服务。我想要工作的是组合两个后端服务的响应并返回一个聚合响应(由两个服务中的每一个组成,由路由器调用)。
这两个服务中的每一个都返回字符串数组。例如,如果第一个服务返回new string[2] { "red", "green" }
而第二个服务返回new string[2] { "table", "chair" }
,则从路由器返回客户端的整个最终响应为new string[4] { "red", "green", "table", "chair" }
。
提前致谢!
答案 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;
}