namespace SafeCampus.Plugin.Mqtt
{
///
/// mqtt组件
///
public sealed class MqttComponent : IServiceComponent
{
///
/// ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行
/// 服务都还没初始化完成,会导致内存中存在多份 IOC 容器!!
/// 正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了
///
///
///
public void Load(IServiceCollection services, ComponentContext componentContext)
{
Console.WriteLine("注册Mqtt插件");
services.AddMqttClientManager();
}
}
///
/// mqtt组件
/// 模拟 Configure
///
public sealed class MqttApplicationComponent : IApplicationComponent
{
public void Load(IApplicationBuilder app, IWebHostEnvironment env, ComponentContext componentContext)
{
App.GetService();//获取mqtt服务判断配置是否有问题
}
}
}