Question ASP.NET Core 1.0 WebSocket Setup?


J'ai du mal à trouver un exemple pour configurer WebSockets dans ASP.NET Core 1.0; ils semblent tous être pour les versions précédentes d'ASP.NET et certains s'appuient sur des propriétés qui ne semblent pas exister sous context (pour moi).

La documentation principale ne contient qu'un espace réservé. http://docs.asp.net/en/latest/

Par exemple:

app.UseWebSockets();

app.Use(async (context, next) =>
{
    if (context.IsWebSocketRequest)
    {
        WebSocket webSocket = await context.AcceptWebSocketAsync();
        await EchoWebSocket(webSocket);
    }
    else
    {
        await next();
    }
});

Ne fonctionne pas parce que IsWebSocketRequest n'existe pas maintenant. Quelle est la bonne approche dans ASP.NET Core 1.0?


14
2017-08-19 14:56


origine


Réponses:


Après quelques démontages, il semble que son mouvement ait été déplacé un peu; et il y a un nouveau WebSocketManager

app.UseWebSockets();

app.Use(async (context, next) =>
{
    var http = (HttpContext) context;

    if (http.WebSockets.IsWebSocketRequest)
    {
        WebSocket webSocket = await http.WebSockets.AcceptWebSocketAsync();
    }
});

En outre, il se trouve que parce qu'il y avait une erreur de compilation, il supposait que le contexte était de type RequestDelegate. Après avoir fixé l'utilisation à context.WebSockets.IsWebSocketRequest il sait maintenant que le contexte est HttpContext


13
2017-08-19 15:54