gpt4 book ai didi

web - 在 Service Stack REST API 服务中使用 SignalR

转载 作者:行者123 更新时间:2023-12-03 13:02:09 24 4
gpt4 key购买 nike

是否可以在服务堆栈项目中使用 SignalR?我们目前正在为我们的 REST Web API 使用服务堆栈。我们对其架构、灵 active 等总体上感到满意。现在我们正在探索使用事件驱动或推送技术(而不是轮询状态)与调用客户进行交流的方法。我应该注意到,我们目前使用 AppHostHttpListenerBase 将我们的 API 托管在 Windows 服务中(与 IIS 内的托管相比)。

是否可以配置一条专用路由以某种方式传递给 SignalR Hub,以便这两个可以并存?例如http://localhost:8000/api/live/jobs/jobid会命中 SignalR 代码,但 http://localhost:8000/api/jobs/jobid将路由到当前基于 DTO 的服务堆栈代码。

PS - 我们希望继续以自主机模式托管,因为我们喜欢移植到 Mono 并在 Linux 上运行的灵 active (而不是绑定(bind)到 IIS)。

最佳答案

这篇博文描述了如何将 SignalR 与 ServiceStack 后端一起使用:
SignalR, Filters and ServiceStack

总而言之,您必须将 ServiceStack Request 行为更改为 Bufferered,

public HelloAppHost()
: base("Hello Web Services", typeof(HelloService).Assembly)
{
PreRequestFilters.Add((req,res) => req.UseBufferedStream = true);
}

然后可以在服务方法中添加[IncomingHub]、[OutgoingHub]属性,如Get()、Post()等。

至于 ServiceStack 中的 OWIN 支持,请不要屏住呼吸。 This thread显示了主要维护者的意见,即目前没有充分的理由增加支持。

关于web - 在 Service Stack REST API 服务中使用 SignalR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656235/

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