免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
aspnetcore DI 多實例注入及獲取

廢話不說,直接代碼

//注入  按單例模式注入RabbitMQ的ConnectionFactory
{
    var mqCfg = context.Configuration.GetSection("RabbitMQ").Get<RabbitMQCfg>();
    var cf = new ConnectionFactory()
    {
        HostName = mqCfg.HostName,
        Port = mqCfg.Port,

        UserName = mqCfg.UserName,
        Password = mqCfg.Password,

        VirtualHost = mqCfg.VirtualHost,
    };

    RabbitMQTools.Init(cf);

    services.AddSingleton(cf);
}
{
    var mqCfg = context.Configuration.GetSection("RabbitMQLogger").Get<MyRabbitMQLoggerProviderOptions>();
    var cf = new ConnectionFactory()
    {
        HostName = mqCfg.HostName,
        Port = mqCfg.Port,

        UserName = mqCfg.UserName,
        Password = mqCfg.Password,

        VirtualHost = mqCfg.VirtualHost,
    };

    RabbitMQTools.Init(cf);

    services.AddSingleton(cf);
}

獲取方式也很簡單,主要有兩種

1.構(gòu)造中接收

/// <summary></summary>
public TimedBackgroundService(IEnumerable<ConnectionFactory> svs)
{

}

2.GetServices接收

using (var sp = logbuild.Services.BuildServiceProvider())
{
    var mqFact2 = sp.GetServices<ConnectionFactory>();
    var mqFact = mqFact2.First(d => d.VirtualHost.EqualIgnoreCase("log"));
    var option = sp.GetService<IConfiguration>().GetSection("RabbitMQLogger").Get<MyRabbitMQLoggerProviderOptions>();

    logbuild.AddMyRabbitMQLog(mqFact, option);
}

還可以使用AspectCore的屬性注入接收

[AspectCore.DependencyInjection.FromServiceContext]
private IEnumerable<ConnectionFactory>  svc { get; set; }

理論上支持  AddSingleton、AddTransient、AddScoped

over

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Mac自帶apache配置小記
C#隊列學(xué)習(xí)筆記:RabbitMQ延遲隊列
Node.js日志框架選型比較:Bunyan
使用HeartBeat實現(xiàn)高可用HA的配置過程詳解
python通過paramiko模塊實現(xiàn)SSH鏈接操作
配置Apache返回400狀態(tài)[禁止使用ip直接訪問apache]
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服