gpt4 book ai didi

asp.net - 我可以合并 SignalR 和 RESTful API 吗?

转载 作者:行者123 更新时间:2023-12-03 04:39:58 25 4
gpt4 key购买 nike

我有一个使用 ASP.NET 开发的单页 Web 应用程序。我最近使用SignalR将许多网络方法转换为基于推送的方法。图书馆。这确实大大加快了页面速度,并减少了页面的大量服务器调用。

同时,我也一直在研究 RESTful ASP.NET WebAPI 的一些服务器端方法,其真正的优点在于它允许在为外部应用程序创建 API 的同时我开发核心应用程序(这对我正在做的事情很重要)。

然而,在看了几篇文章和these之后two问题是,推送和 WebAPI 方法似乎是客户端-服务器通信的两种完全不同的范例。我确信我可以创建可以通过任一协议(protocol)访问的各种方法,但我不确定这是否存在陷阱或者这是否被认为是草率的——也许有一种更优雅的方法来实现我的目标为了。

在某些情况下,我确实希望 RESTful WebAPI 通过 SignalR 集线器广播事件...相反的情况(SignalR 需要访问 WebAPI)似乎不太可能,但我认为仍然有可能。

有人做过吗?有人对如何进行有任何建议或提示吗?这里最优雅的前进方式是什么?

最佳答案

看一下这个 blog post 的视频。它准确地解释了如何将 WebAPI 与 SignalR 结合使用。

本质上,Web API + SignalR 集成在于 class :

public abstract class ApiControllerWithHub<THub> : ApiController
where THub : IHub
{
Lazy<IHubContext> hub = new Lazy<IHubContext>(
() => GlobalHost.ConnectionManager.GetHubContext<THub>()
);

protected IHubContext Hub
{
get { return hub.Value; }
}
}

仅此而已。 :)

关于asp.net - 我可以合并 SignalR 和 RESTful API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12368800/

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