使用 OWIN 的 ASP.NET WebApi 的有效 WebSockets 实现是啥? (不能是 SignalR。)

Posted

技术标签:

【中文标题】使用 OWIN 的 ASP.NET WebApi 的有效 WebSockets 实现是啥? (不能是 SignalR。)【英文标题】:What is a working WebSockets implementation for ASP.NET WebApi with OWIN? (Can't be SignalR.)使用 OWIN 的 ASP.NET WebApi 的有效 WebSockets 实现是什么? (不能是 SignalR。) 【发布时间】:2017-08-15 17:32:43 【问题描述】:

SignalR 不是一个选项,因为我们需要支持仅在 SignalR Core 中支持的原始 WebSocket 连接。

这留下了我所知道的 ASP.NET 中 WebSockets 的宝贵选项。目前,我正在使用 System.Net.WebSockets,但这是一个非常底层的库,无需大量额外工作,它仅支持半双工通信。

websocket-sharp 和 SuperWebSocket 等其他选项具有全双工功能,但不适用于 ASP.NET 或 OWIN。

没有其他选择吗?我宁愿不手动滚动 WebSockets 类。

【问题讨论】:

【参考方案1】:

System.Web.WebSockets.AspNetWebSocket 可能是您正在寻找的。 This page 包含一个 MVC 示例,但同样适用于 Web API。

【讨论】:

以上是关于使用 OWIN 的 ASP.NET WebApi 的有效 WebSockets 实现是啥? (不能是 SignalR。)的主要内容,如果未能解决你的问题,请参考以下文章

csharp Topshelf + OWIN自主机+ ASP.NET WebAPI + Ninject

使用 Owin 时无法使 ASP.NET Web API 2 帮助页面正常工作

如何在本地服务结构集群中部署和访问来宾可执行文件(ASP.NET OWIN 自托管 webapi 应用程序)

asp.net web api 自托管 / owin / katana

具有混合身份验证 JWT 和 SAML 的 ASP.NET Web API 2.2 OWIN

Asp.Net Web API 2第十课——使用OWIN自承载Web API