现在我正在使用第三方提供商来获取一些数据。每次我打电话给服务,我都需要支付一小笔费用。我想知道sql或c#中是否存在可以将数据存储在个人数据库中的方法,然后检查(在指定的时间范围之后)我的第三方提供商是否有新数据。
例如,每次加载页面时,我都不是“调用服务”/“查找数据”,而是每周都要查找新数据并将数据存储在个人数据库中以供使用下周。这有助于降低成本并加快我的系统速度。
我不是在寻找任何代码,只是执行/解决问题的简单方法。我的工具是VS,c#,SQL,asp.net / html。
答案 0 :(得分:3)
您可以在SQL中创建一个简单表,其中存储用于调用数据提供程序的密钥,上次获取的数据以及上次从数据提供程序检索数据时的时间戳。如果它们的键不在表中,请调用数据提供程序并在表中插入一行,其中包含结果和新时间戳。如果时间戳比您想要的旧(可能在web.config中配置了这段时间),请检索数据并使用新数据和新时间戳更新表中的该行。
通过存储数据,确保您没有违反与数据提供商的服务条款。我为数据提供商工作,我们的合同允许存储大多数数据最多24小时。
答案 1 :(得分:2)
我建议你使用sql依赖。当数据发生变化时,它会通知您的应用程序:read more here当然,如果他们允许的话。您还可以使用任意数量的缓存应用程序:AppFabric,memcached,SharedCache,ASP.NET缓存。