第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 SignalR Core 中訪問或注入 Hub 外部的 HubCallerContext

在 SignalR Core 中訪問或注入 Hub 外部的 HubCallerContext

C#
夢里花落0921 2023-07-22 18:31:50
我有一個(gè)帶有 signalR 實(shí)現(xiàn)的 asp-net-core 項(xiàng)目。我需要Context.User在我的中心調(diào)用方法時(shí)提取用戶信息。問題是,當(dāng)正在構(gòu)建的集線器Context.User不包含用戶信息時(shí)。但在方法范圍內(nèi),Context.User正是我所期望的。public class Basehub : Hub{    public Basehub(IUserProfileProvide userProfileProvider)    {        this.CurrentUser = userProfileProvider.InitUserProfile(Context); // Context.User is empty when breakpoint hits this line    }    public IUserProfile CurrentUser {get;}}public class NotificationHub: BaseHub{private IUserProfileProvide userProfileProvider;    public NotificationHub(IUserProfileProvide userProfileProvider)    {    }    public async Task InvokeMe(string message)    {        var contextUser = Context.User;        var profile = CurrentUser;//this is empty because Context is empty in the construction phase        await Clients.All.SendAsync("invoked",message); // Context.User is OK when breakpoint hits this line    }   }我的主要目標(biāo)是注入HubCallerCOntext并IUserProfileProvide盡可能BaseHub干凈。*我的問題:如何HubCallerContext在集線器外部注入?
查看完整描述

1 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

當(dāng)調(diào)用構(gòu)造函數(shù)時(shí),上下文尚不可用。


它將在調(diào)用預(yù)期函數(shù)時(shí)填充。


public class Basehub : Hub {

    protected IUserProfileProvide userProfileProvider;


    public Basehub(IUserProfileProvide userProfileProvider) {

        this.userProfileProvider = userProfileProvider;

    }

}

在流程中推遲對它的訪問,就像在框架有時(shí)間正確填充上下文時(shí)的方法中一樣。


public class NotificationHub: BaseHub {


    public NotificationHub(IUserProfileProvide userProfileProvider) 

        : base(userProfileProvider) { }


    public async Task InvokeMe(string message) {

        IUserProfile profile = userProfileProvider.InitUserProfile(Context); //context populated


        //...


        await Clients.All.SendAsync("invoked",message); 

    }   

}


查看完整回答
反對 回復(fù) 2023-07-22
  • 1 回答
  • 0 關(guān)注
  • 222 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)