适用于多个WCF请求的最佳方法

本文关键字:最佳 方法 请求 WCF 适用于 | 更新日期: 2023-09-27 18:00:39

我有一个方法,它接收一个productId数组,我需要用它们来获取每个productId的日期。问题是,该服务只能给我每个产品的日期。我无法访问服务方。。。唯一的客户端。有没有更好的方法来完成下面的代码?

ChannelFactory<IService> channelFactory = null;
IService client = null;
List<DateTime> dates = new List<DateTime>();
using (channelFactory = new ChannelFactory<IService>("endpointName"))
{
    for (int i = 0; i < productIds.Length; i++)
    {
        client = channelFactory.CreateChannel();
        Request request = new Request();
        request.Id = productIds[i];
        Response response = client.execute(request);
        dates.Add(response.Date);
    }
}

适用于多个WCF请求的最佳方法

看起来您不必在每次迭代中创建通道,只需在循环之前创建一次。您也可以尝试并行化流:svcutil可以生成基于任务的异步操作,我相信ChannelFactory本身也有类似的功能。但我担心,如果没有适当的服务器端支持,就不可能减少服务调用的数量。