【发布时间】:2022-01-10 00:27:49
【问题描述】:
我已经构建了一个 rest api(mvc 应用程序)。我想重建数据加载并通过 http-post/-get 的 websocket 调用它。
我试过了:
public class WebsocketController : Controller
{
[HttpGet("/ws")]
public async Task Get()
{
if (HttpContext.WebSockets.IsWebSocketRequest)
{
using WebSocket webSocket = await
HttpContext.WebSockets.AcceptWebSocketAsync();
await Echo(HttpContext, webSocket);
}
else
{
HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
}
}
}
这不起作用,因为未定义 WebSocket。
是否可以将 websocket 添加到 mvc 控制器?
在 ms 文章 (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1) 中,它说要在 StartUp.cs 中添加一些内容
但我的 mvc 解决方案在 Global.asax.cs 文件中没有 startup.cs,而是一个无效的 Application_Start
【问题讨论】:
-
您的应用程序面向哪个 .net 框架?
-
.net 框架 4.7.2
-
.net 4.7.2 文件没有 Startup.cs。 .net 4.7.2 中的 HttpContextBase 类也没有 Websocket 相关方法。您阅读的Ms文章适用于.net core,与.net 4.7.2不同
标签: c# asp.net-mvc websocket