gpt4 book ai didi

TopShelf ConstructUsing 与 WhenStarted

转载 作者:行者123 更新时间:2023-12-02 20:09:30 26 4
gpt4 key购买 nike

我想问一下ConstructUsing中应该进行哪些操作,WhenStarted中应该进行哪些操作。事实上,通常放置在构造函数中的内容(例如配置读取、服务情况下的初始化)应该放置在 WhenStarted IMO 中,以便在服务重新启动期间刷新所有内容,那么 ConstructUsing 还剩下什么?只是新类(class)就这样了吗?但既然如此,为什么不在 WhenStarted 中也进行更新呢?

提前致谢

最佳答案

ConstructUsing 定义如何创建服务,这实际上可以只是一个 new(),或者获取服务的另一种方式:

例如,使用 IoC:

// Release in WhenStopped()
sc.ConstructUsing(() => container.Resolve<IMyService>());

另一种选择是使用服务的现有实例:

sc.ConstructUsing(() => serviceInstance);
另一方面,

WhenStarted 定义了服务实例启动时要执行的操作,因此需要配置实例:您无法在此处创建服务:

sc.WhenStarted(service => service.Start());

关于TopShelf ConstructUsing 与 WhenStarted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com