ASP.. NET WebForms -调用多个api并向用户显示结果

本文关键字:用户 显示 结果 api WebForms NET 调用 ASP | 更新日期: 2023-09-27 18:07:30

我正在ASP中创建一个像www.hipmunk.com这样的网站。NET web表单。我需要从多个API拉的数据,比较费率和显示不同的费率选项给用户。实现这一目标的最佳方式是什么?我四处浏览,看到"Windows工作流基础"可能是一个选择。

有人有什么建议吗?我只是在寻找建筑方面的建议。

感谢编辑:多种API: -每个OTA都有不同类型的API,但到目前为止,我看到每个人都支持XML/JSON格式

ASP.. NET WebForms -调用多个api并向用户显示结果

我假设您正在尝试从每个服务捕获相同的数据,但是它们可能每个都有不同的调用模式,并且它们肯定会以不同的方式表示它们的结果。处理每个服务差异的一种方法是使用策略模式对它们进行封装。您将有一个标准的结果对象,但是根据请求的服务列表,您将使用不同的策略来填充每个结果对象。

public interface IResultsStrategy {
    RateResults GetRateResults(SiteInfo site);
}
public class SpecificSiteStrategy {
    public RateResults GetRateResults(SiteInfo site) {
        //access the service through WCF, or whatever makes the most sense
        //create a new RateResults object, and fill it with the appropriate data
    }
}
public class AnotherSiteStrategy {
    public RateResults GetRateResults(SiteInfo site) {
        //access the service through a web request, or whatever makes the most sense
        //create a new RateResults object, and fill it with the appropriate data
    }
}
public class RateFetcher {
    public IEnumerable<RateResults> GetRates() {
        var rateResults = new List<RateResults();
        foreach(SiteInfo site in SitesToFetch) {
            IResultsStrategy strategy = GetStrategy(site);
            rateResults.Add(strategy.GetRateResults(site));
        }
        return rateResults;
    }
}