gpt4 book ai didi

wcf - SignalR - 从 WCF 项目发送消息

转载 作者:行者123 更新时间:2023-12-02 07:07:05 27 4
gpt4 key购买 nike

我已按照 https://github.com/SignalR/SignalR/wiki/Hubs 中的说明进行操作标题为“从集线器外部通过集线器广播”。

我在同一个项目的 MVC 操作中得到了这个方法。请求操作将更新发送到连接的客户端。

我的问题是我需要能够从另一个项目发送更新,尤其是 WCF Web 服务项目。我的应用程序有一个 API 和一个 Web 组件,当 API 用户调用更改内容时,这些更新需要通过 SignalR 推送到 Web 客户端。使用与我的测试操作相同的代码调用 Web 服务不起作用。

我还在 nunit 单元测试中尝试了相同的代码,但也没有用。

我需要做什么才能使 Wiki 上描述的相同方法适用于 WCF 项目?

最佳答案

最简单的解决方案可能是在您的 Web 应用程序上提供一个 API(使用 MVC 或新的 WebAPI)来广播到所有连接的客户端。任何其他应用程序(NT 服务、NUnit 测试...)如果想要向客户端发送消息,都可以调用该 API。

如果您没有在 IIS 下运行的 Web 应用程序或直接托管它的其他应用程序中托管集线器,则您不能期望 SignalR 执行任何操作。

如果您需要从单独的应用程序到客户端的双向通信,那么只需将您的应用程序也变成 SignalR 客户端,并让它通过 Web 应用程序托管的 SignalR 与客户端通信,并让它也监听来自它们的消息。

例如,下面是我如何配置复杂的服务 + 网站 + 客户端解决方案(暂时忽略紫色部分):

SignalR Complex Architecture

实时 Web 服务器允许 NT 服务连接和创建 SignalR 组。 NT 服务发送到这些组。 Web 浏览器连接到一个组并接收发送到该组的消息。实际上,中间框变成了 pubsubhub。

关于wcf - SignalR - 从 WCF 项目发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com