如何在 C# Asp.net MVC 中创建 websocket 客户端?
Posted
技术标签:
【中文标题】如何在 C# Asp.net MVC 中创建 websocket 客户端?【英文标题】:How do I create a websocket client in C# Asp.net MVC? 【发布时间】:2021-05-18 09:05:45 【问题描述】:早上好, 如何在 C# Asp.net MVC 中连接到 Websocket,同时保持连接处于活动状态?
我在网上找,但我发现只创建服务器而不是客户端
【问题讨论】:
【参考方案1】:.net 5 有教程 -> https://sahansera.dev/understanding-websockets-with-aspnetcore-5/
对于 .net core 3.1,一切都类似,但要使用 Controller,您需要使用中间件
public class WebSocketMiddleware
...
public async Task Invoke(HttpContext context)
if (!context.WebSockets.IsWebSocketRequest)
context.Response.StatusCode = 400;
return;
WebSocket socket = await context.WebSockets.AcceptWebSocketAsync();
...
或者你也可以使用 SignalR https://docs.microsoft.com/en-us/aspnet/core/signalr/introduction?view=aspnetcore-5.0
但您可以在官方文档https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1中找到大多数信息
【讨论】:
【参考方案2】:哦,对不起,您正在寻找客户...
您可以创建一个服务类来处理您的 WebSocketClient 并使用异步连接/断开方法。 不仅仅是在一些 IHostedService 中调用这个方法。
【讨论】:
以上是关于如何在 C# Asp.net MVC 中创建 websocket 客户端?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET MVC 视图中用 C# 打印出 GridView?
如何在 ASP.NET MVC 中创建 CheckBoxListFor 扩展方法?
我们如何使用 EF 在 ASP.Net MVC 应用程序中创建 3 层架构?