111,120
社区成员
发帖
与我相关
我的任务
分享namespace Microsoft.Extensions.Hosting
{
//
// 摘要:
// Defines methods for objects that are managed by the host.
public interface IHostedService
{
//
// 摘要:
// Triggered when the application host is ready to start the service.
//
// 参数:
// cancellationToken:
// Indicates that the start process has been aborted.
Task StartAsync(CancellationToken cancellationToken);
//
// 摘要:
// Triggered when the application host is performing a graceful shutdown.
//
// 参数:
// cancellationToken:
// Indicates that the shutdown process should no longer be graceful.
Task StopAsync(CancellationToken cancellationToken);
}
}
你要的描述也就只是这个,我有3个插件(service),系统主机(host)启动会根据配置加载他们(host.Builer host.start),他们自己启动会需要自己的参数(Iconfig 和 构造注入)
假设你说的3种运动卡就是右边的node2,node4,node5。
那么我们并不是要做什么以前那种设计接口,也不需要像你说的那样,用谁就引用谁
我们并不直接引用,我只是在启动的时候根据配置文件,把各个node注册到系统,然后统一启动他。他们之间没有谁调用谁。所以我们不是要启动vs,引用他,然后生成他。而他之间的调用只通过消息,而不通过代码直接call
过程也许难理解,不过玩net core的人瞬间明白
他就是那个host.Build的过程那些node其实就是netcore里面的 IService, 我们只是根据配置生成IserviceCollection,让 host.RunAsAsyn() 统一启动他