AspNetCoreSignalR,无法读取标头和HttpContext
创始人
2024-09-20 09:00:53
0

在SignalR的Startup中启用UseHttpContext以便访问HttpContext。

在Startup.cs的ConfigureServices方法中添加以下代码:

services.AddSignalR() .AddJsonProtocol(options => { options.PayloadSerializerOptions.PropertyNamingPolicy = null; }) .AddHubOptions(options => { options.EnableDetailedErrors = true; }); services.AddSingleton();

并且在Configure方法中添加以下代码:

app.UseRouting(); app.UseAuthentication(); app.UseAuthorization();

app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapHub("/myhub") .RequireAuthorization(); });

在MyHub.cs中可以访问HttpContext,可以通过以下代码进行访问:

using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.SignalR;

namespace My.Namespace { [Authorize] public class MyHub : Hub { private readonly IHttpContextAccessor _httpContextAccessor;

    public MyHub(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
    }

    public async Task SendMessage(string message)
    {
        var httpContext = _httpContextAccessor.HttpContext;
        var username = httpContext.User.Identity.Name;

        await Clients.All.SendAsync("ReceiveMessage", username, message);
    }
}

}

在上面的示例中,MyHub使用IHttpContextAccessor作为依赖注入进行构造,并在SendMessage方法中访问了HttpContext以获取用户信息。

相关内容

热门资讯

黑科技辅助挂(德州免费)wPk... 德州新手教程相关信息汇总(需添加指定威信136704302获取下载链接);黑科技辅助挂(德州免费)w...
黑科技脚本(Wepoke总结)... 黑科技脚本(Wepoke总结)轰趴十三水原本是真的有挂!太坑了果然真的是有挂(2023已更新)(哔哩...
黑科技攻略(微扑克模拟器)wp... 黑科技攻略(微扑克模拟器)wpk游戏原先是有挂!太嚣张了确实存在有挂(2025已更新)(哔哩哔哩);...
黑科技有挂(哈糖大菠萝洗牌)w... 黑科技有挂(哈糖大菠萝洗牌)wPk好像存在有挂!太嚣张了一直有挂(2026已更新)(哔哩哔哩);实战...
黑科技脚本(微扑克ai)Wep... 黑科技脚本(微扑克ai)WepokE确实存在有挂!太嚣张了本然真的是有挂(2020已更新)(哔哩哔哩...
黑科技私人局(aapoker辅... 黑科技私人局(aapoker辅助)AAPoKER真是是有挂!太嚣张了原来是有挂(2025已更新)(哔...
黑科技苹果版(Wepoke助手... 黑科技苹果版(Wepoke助手)wPK原生存在有挂!太实锤了竟然存在有挂(2024已更新)(哔哩哔哩...
黑科技代打(德扑之星模拟器)a... 黑科技代打(德扑之星模拟器)aapokEr固有真的是有挂!太夸张了一直是有挂(2025已更新)(哔哩...
辅助黑科技(aapoker教程... 辅助黑科技(aapoker教程)epoker先前是真的有挂!太夸张了起初真的有挂(2022已更新)(...
黑科技存在(微扑克ai)Wep... 黑科技存在(微扑克ai)WepokE确实存在有挂!太嚣张了总是真的是有挂(2023已更新)(哔哩哔哩...