我有一个带有两个底层服务的WCF路由服务。我想做的事情是组合来自两个后端服务的响应,并返回一个聚合响应(由路由器调用的两个服务中的每一个组成)。
这两个服务中的每一个都返回字符串数组。例如,如果第一个服务返回new string[2] { "red", "green" }
,而第二个服务的结果是new string[2] { "table", "chair" }
,那么从路由器返回客户端的整个最终响应就是new string[4] { "red", "green", "table", "chair" }
。
提前感谢!
除非我在你的问题中遗漏了什么,否则以下是你想要的东西吗?
假设WCF服务方法名为GetAggregatedRespons:
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;
}