【问题标题】:Trying to avoid Traffic on Server试图避免服务器上的流量
【发布时间】:2015-12-03 08:11:27
【问题描述】:

我正在使用 C# ASP.NET MVC 4 Razor

我在 ASP.NET MVC Razor 视图中有一个显示用户记录的网格。有什么方法可以在 Grid 中显示新用户,而无需在每 1 分钟后向服务器发送异步请求?

我在 Google 上搜索了很多。现在,最后我在此处发布查询以获得此解决方案的任何线索,以避免服务器上的流量。因为此页面至少对 20,000 名用户可见

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 c#-4.0


    【解决方案1】:

    @Christos 方法是正确的!,只是为 ASP.NET 解决方案添加更多信息,我会使用 SignalR,它可以让您实现简单的服务器/客户端通信并且它是跨浏览器(它有几个 polyfills如果它不能使用 web 套接字,它将使用服务器发送的事件,等等),最好的部分是你不需要担心那个实现。

    一旦您的客户端连接到 signalR 服务器,您可以在每次需要向网格添加新项目时通知他们。

    http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      您可以使用发布/订阅模式。这可以使用例如 redis 服务器来完成。

      在软件架构中,发布-订阅是一种消息传递模式 消息的发送者(称为发布者)不对 消息直接发送给特定的接收者,称为 订户。相反,发布的消息被描述为 类,不知道可能有哪些订阅者(如果有的话)。 同样,订阅者表达了对一个或多个课程的兴趣,并且 只接收感兴趣的消息,不知道什么, 如果有的话,有出版商。

      请看here

      这样做,客户端第一次从服务器请求数据时将订阅服务器以获取任何更新。一旦有任何更新到达,服务器会将更新推送给已订阅的客户端,而无需客户端向服务器发出任何其他请求。

      具体实现请看here

      【讨论】:

      • 您将如何实现各个 Web 浏览器和 Web 服务器之间的发布/订阅模式?
      • 一个想法不正确吗?我知道这种模式,但我从来没有机会实现它,我认为这应该适合这种情况。如果不是,请告诉我删除帖子。
      • 我认为这个想法很好,但我没有在浏览器中实际实现它的经验。我认为 Web Sockets 可以为此提供良好的基础,但没有亲自使用它们。发现这个谷歌搜索:faye.jcoglan.com/node/websockets.html 也许探索实施选项并更新您的答案以更具体地针对 OP 的情况。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 2012-09-15
      • 1970-01-01
      • 2017-03-31
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多