跳到主要内容

94.1、源码启动

说明
  1. 引用linker.messenger.entry库

  2. 启动顺序


    //如果你不希望产生配置文件,每次都加载新配置,比如你自己存数据库里
    //FileConfig.ForceInMemory = true;

    LinkerMessengerEntry.Initialize();

    //在这里可以注入你自己的类,或者覆盖内部实现类
    //LinkerMessengerEntry.AddService<TService>();
    //LinkerMessengerEntry.AddService<TService, TImplementation>();

    LinkerMessengerEntry.Build();
    LinkerMessengerEntry.Setup();

    //在这里获取注入实体
    //LinkerMessengerEntry.GetService<TService>();

  3. 启动覆盖配置, json格式参考

    //可以在每次启动的时候覆盖配置,
    JsonDocument config = JsonDocument.Parse("json串");
    LinkerMessengerEntry.Setup(config:config);
  4. 运行时操作或更改配置

    1. 找到对应的linker.messenger.xxx格式命名的项目中的XxxApiController
    2. 构造函数的参数是依赖注入,你可以用LinkerMessengerEntry.GetService<TService>()获取相应的
    3. 比如更改网卡配置,代码在TuntapApiController.Update,自己写就可以
      var tuntapConfigTransfer = LinkerMessengerEntry.GetService<TuntapConfigTransfer>();
      tuntapConfigTransfer.Update(info);