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