c# - 每分钟从 API 获取数据到我的服务器

标签 c# iis asp.net-mvc-4

这是一个可以给我实时新闻的 API 服务器:每分钟都会有新的东西可供检索。还有我的网页,其中有一个 Javascript,它会要求 API 每分钟获取一些新闻。

这不太好……除非我的网页是为单个用户制作的,并且一次只能在一台机器上打开(互联网不是这种情况)。事实上,API 限制了我每分钟可以进行的调用次数:假设如果我每分钟进行超过 1 次调用,API 将禁止我。如果 100 个用户加载我的网页,API 每分钟将收到 100 次调用 (!!!)。

因为流程是我的网页 >> 调用 >> API 我认为没有插入另一个从 api 服务器延迟加载的节点的解决方案。

我的网页 >> 调用 >> 我的服务器 >> 每分钟调用一次 >> API

由于我的网页实例可能很多,而我的服务器只有一个,所以我认为这是解决方案。

但是,我不知道是否:

a) 这是正确的解决方案吗?或者我能否以某种方式让我的网页在不需要中间服务器的情况下正常运行?

b) 我如何在 ASP.NET MVC4 中实现它?是否支持服务器端计时器?

c) 即使我可以让 IIS 每分钟检索一次数据,我是否应该将其存储在数据库中以将其提供给我的网页?

d) 我说的 api 服务器是 The Times Newswire API .如果有人使用过类似的 API,您是否真的创建了域模型、数据库表、服务和例程只是为了从中检索数据,或者您只是在我的网页中编写了一些 javascript 代码?如果您有数百万用户怎么办?

最佳答案

您可以为此目的使用 SignalR,这是一种使用套接字工作的推送服务,因此可以配置为向 1,000,000 个听众(或更明显)发送一条消息。

我在去年创建一个小型原型(prototype)游戏时使用了它,并发现它非常可靠。 vs2010和vs2012都可以使用NuGet抓包。

参见 Asp.net SignalR , 请参阅 examples或者简单地谷歌 SignalR,你会发现大量的例子。

关于c# - 每分钟从 API 获取数据到我的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17966662/

相关文章:

c# - 不能再调试我的程序

javascript - 我可以在 IIS 上从 "Classic"ASP 生成 JSON 吗?

sql-server - SQL Server IIS 如何查找内存消耗的原因

c# - 如何从 IEnumerable 获取模型元数据?

asp.net-mvc-4 - 使用 dapper 将输出参数传递给接受数据表作为参数的 sp

c# - 运行时错误 : Syntax error in Java Script in clean Basic MVC 4 ASP. NET 项目

c# - ASP.NET MVC3 用户登录

c# - Xamarin.Forms.Xaml.XamlParseException : MarkupExtension not found

c# - 按关键字排序字符串

iis - IIS 7.x 上下文中的 Web 应用程序和虚拟文件夹有什么区别?