如何在启动时启动服务(`IServiceCollection`)

KCD

我有一个单例服务,我想在启动时运行,而不是等待一些Controller通过依赖注入构造服务。

该服务处理来自服务总线的数据,并且似乎不正确地依赖于客户端流量。初始化的最干净的方法是什么?

通常,您通常会正常实例化服务,然后将其引用传递给AddSingleton()方法。

var someRepository = new SomeRepository(/*pass in configuration and dependencies*/);

// pass instance of the already instantiated service
services.AddSingleton<ISomeRespository>(someRepository);

编辑

或预热扩展方法:

public static class WarmupServiceProviderExtensions
{
    public static void WarmUp(this IServiceProvider app)
    {
        // Just call it to resolve, no need to safe a reference
        app.RequestService<ISomeRepository>();
    }
}

并在您的Startup.cs中

public void Configure(IServiceProvider app) 
{
    app.UseXyz(...);

    // warmup/initailize your services
    app.WarmUp();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在启动时启动服务

来自分类Dev

如何在启动时启动VNC服务器?

来自分类Dev

如何在Debian中延迟启动时的服务启动?

来自分类Dev

如何在启动时启动Dropbox?

来自分类Dev

如何在启动时启动hadoop?

来自分类Dev

如何在启动时启动Dropbox?

来自分类Dev

如何在启动时启动网络?

来自分类Dev

如何在启动时启动 Kamailio

来自分类Dev

如何在Windows启动时添加mongoDB服务?

来自分类Dev

如何在Windows启动时监视程序和服务?

来自分类Dev

如何在Windows上(启动时)运行Ubuntu服务?

来自分类Dev

如何在启动时更改服务的执行顺序?

来自分类Dev

如何在服务启动时查看日志文件?

来自分类Dev

如何在Moqui启动时添加服务?

来自分类Dev

如何在启动时使用服务设置循环设备?

来自分类Dev

如何在设备启动和应用程序启动时启动服务

来自分类Dev

如何在Debian无头服务器(Raspberry Pi)上启动时启动服务?

来自分类Dev

如何在每次重新启动时重新启动服务?

来自分类Dev

如果未注册为服务,如何在启动时自动启动应用程序

来自分类Dev

如何在 JBOSS AS 启动时查找特定服务是否正在运行/启动?

来自分类Dev

如何在 Ubuntu 10.04 中启动时启动 VNC 服务器

来自分类Dev

我的电子应用启动时如何启动mongodb服务

来自分类Dev

如何制作在CentOS中启动时启动的服务?

来自分类Dev

如何使用centos7在启动时启动服务?

来自分类Dev

如何要求systemd在启动时不启动系统服务?

来自分类Dev

如何设置服务mssql-server在启动时启动?

来自分类Dev

如何在启动时设置TabPage?

来自分类Dev

如何在启动时关闭硬盘

来自分类Dev

如何在启动时关闭硬盘

Related 相关文章

热门标签

归档