Asp.net-Web-Api
如何在集線器 SignalR ASP.NET Core 2.1 中讀取標頭數據
我正在嘗試將userId傳遞給集線器以連接到 signalR。這是客戶端設置連接的方式:
connection = new HubConnectionBuilder() .WithUrl("http://localhost:56587/hub", options => { options.Headers["UserId"] = loginTextBox.Text; }) .AddMessagePackProtocol() .Build();如何在集線器的 OnConnectedAsync() 方法中讀取此標頭?
將標題值作為字元串獲取:
public override async Task OnConnectedAsync() { var httpCtx = Context.GetHttpContext(); var someHeaderValue = httpCtx.Request.Headers["UserId"].ToString(); }注意- 您可能需要考慮在查詢字元串中傳遞資訊,但並非所有傳輸都支持標頭。