【问题标题】:Advice on SignalR architectureSignalR 架构的建议
【发布时间】:2016-03-16 06:38:41
【问题描述】:

我需要一些关于如何在特定任务中使用 SignalR 的建议。

具体来说,我有一个遗留的 ASP.NET 应用程序,它通过重写现有模块或添加新功能作为具有基于 webapi 的后端的客户端模块 (html5/css/js) 来进行现代化改造。

我需要集成 SignalR 来完成如下任务:

  1. 网页上的js代码发出ajax请求。服务器上的代码可能需要很长时间,所以我不想等待 ajax 代码完成。 例如,发送一封电子邮件,其中附有几个呈现为 PDF 的 SSRS 报告。我不想强迫用户等到所有报告都呈现出来(这可能需要几十秒)。所以我的代码只是调用 ajax,但不使用处理程序来处理成功或错误
  2. 在 webapi 方法中,当成功完成后,我想向客户端发送 SignalR 消息,其中包含成功状态(可能还有一些附加信息)
  3. 如果 webapi 出现任何错误,我想向客户端发送 SignalR 消息,并提供错误信息
  4. 在母版页的 Web 应用程序中,我想包含 SignalR 代码,该代码将在页面加载时初始化,并将接收服务器代码发送的通知。 然后它将根据需要处理消息(报告错误、成功等)。

能否提供一些指导和代码参考?

谢谢

【问题讨论】:

  • 您所描述的是 signalR 的标准用例。我建议您阅读本教程asp.net/signalr/overview/getting-started/…,您将了解如何在您的应用中使用 signalR。
  • 我已经检查过了,但我没有找到如何将消息从服​​务器发送到客户端,例如如何从我的 webapi 方法访问和调用 signalR 代码以将数据发送到客户端。以及如何在应用程序启动时注册 signalR。我的应用程序是旧版应用程序,带有 global.asax AppStart,我不明白这如何适合 owin 启动初始化

标签: javascript asp.net ajax asp.net-web-api signalr


【解决方案1】:

其实我想出了解决办法。 Server broadcast with SignalR

中描述了与我需要的类似的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2010-11-08
    相关资源
    最近更新 更多