【问题标题】:SignalR notifying both asp.net and web api clients host on separate siteSignalR 通知 asp.net 和 web api 客户端托管在单独的站点上
【发布时间】:2015-01-09 08:52:07
【问题描述】:

我将构建自己的系统,包括 asp.net 网站和 web api,它们托管在不同的站点上。架构图如下图链接。

每次客户端更新一些东西。我需要通知其他人。例如,如果客户端 1 通过网络上传照片,那么客户端 3 和(移动应用程序)和客户端 4(桌面应用程序)应该会收到通知。 我的问题是如何告诉 SignalR 在这种情况下向客户端发送通知。请指教。

【问题讨论】:

  • 图表看起来不错,但还是有点混乱,你能提供更多关于 ASP.NET 节点的信息吗?我希望在你的设计中你会有 ASP.NET MVC,它只是通过一些 MVVM 框架(例如 Knockoutjs)来使用 Web Api。
  • 嗨范我正在开发具有相同要求的应用程序。你完成了这个吗?我不知道我该怎么做。 signalR 是否也兼容 IOS?

标签: asp.net asp.net-web-api signalr notify


【解决方案1】:

你的图表必须改变才能达到你的需要。

为了使其正常工作,所有客户端类型都必须支持 SignalR。对于 Web 应用程序来说,这很简单,因为“客户端”代码就是网站代码本身。

对于移动和桌面,您有一个额外的层 (webapi),在这种情况下这是一个障碍。

您应该定义一个 SignalR 集线器并从所有客户端连接到它:WebApp、MobileApp、DesktopApp。

了解这一点后,您可以创建一个包含所有 API 方法和 SignalR 集线器的 WebAPI 项目,并从其他应用程序(包括网站)连接到它。

据我所知,这是完成这项工作的唯一方法,因为您需要在所有客户端代码中包含 SignalR 库并使用它与集线器进行通信。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 2016-12-05
    • 2019-10-26
    • 2013-10-08
    相关资源
    最近更新 更多