- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个单例服务,我想在启动时运行,而不是等待一些 Controller
通过依赖注入(inject)构建服务。
该服务处理来自服务总线的数据,它似乎并不完全依赖于客户端流量。最干净的初始化方法是什么?
最佳答案
通常您正常实例化服务,然后将它的引用传递给 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();
}
关于c# - 如何在启动时启动服务 (`IServiceCollection` ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785088/
看完this帖子我可以理解 AddTransient、AddScoped 和 AddSingleton 之间的区别,但是,我看不到它们每个的实际用法。 我的理解是 添加 transient 每次客户端
假设我有某种子应用程序需要在主应用程序中注册一些服务以及它自己的一些特定服务。我想知道是否有更好/自然的方法来执行此操作(也许是某种扩展方法?)。这就是我所做的: public static ISer
我有一个单例服务,我想在启动时运行,而不是等待一些 Controller 通过依赖注入(inject)构建服务。 该服务处理来自服务总线的数据,它似乎并不完全依赖于客户端流量。最干净的初始化方法是什么
我正在创建辅助类以通过库的 IServiceCollection 简化接口(interface)的配置和注入(inject)。 libraries 构造函数包含许多可能早先注入(inject)的依赖项
我有一个接受三个构造函数参数的类。在我的作文根目录中,我只想定义/覆盖 一个 三个构造函数参数中的一个;其他两个依赖项已经映射到我的 DI 容器中,应该从 IServiceProvider 创建。 使
尝试在 Visual Studio 2015 中构建 ReactJS.NET using Microsoft.AspNetCore.Http; using JavaScriptEngineSwitch
我有这个扩展 public static class ServiceCollectionExtensions { public static IServiceCollection MyExte
我在 IServiceCollection 上有一个扩展方法,如下所示: public static IServiceCollection AddMyProjData(this IServiceCol
我在全新的 .net core 2 网络应用程序中发生了一件奇怪的事情。这是来自 Visual Studio 内置模板的标准 Web API。 VS 2017,所有的爵士乐。这是整个 startup.
我正在尝试找出最简单的方法来测试我的框架的服务注册方法。我正在创建动态服务,我的注册看起来像这样: var messageHubConfig = new DynamicHubServiceConfig
我正在尝试在我的 asp core 2.0 项目中使用 Quartz sheduker。我使用 nuget 下载了 Quartz 3.0.4,然后我添加了 services.AddQuartz(new
这个问题在这里已经有了答案: Trying to add AutoMapper to .NetCore1.1 - not recognising services.AddAutoMapper() (1
我有一个 ASP.NET Core 3.0 项目在以下启动时运行良好: public void ConfigureServices(IServiceCollection services) {
我正在尝试添加 Blob 服务客户端以进行依赖项注入(inject)。我正在使用最新版本的 Microsoft.Extensions.Azure,但是我的服务集合不包含 AddAzureClients
我不明白为什么 Startup.cs 会抛出此错误。我尝试了建议的解决方案 here (包括重新启动我的机器并运行 dotnet Restore)但运气不佳。有什么想法吗? CS1061 'IServ
我正在尝试添加 Blob 服务客户端以进行依赖项注入(inject)。我正在使用最新版本的 Microsoft.Extensions.Azure,但是我的服务集合不包含 AddAzureClients
我正在使用 ASP.NET Core 3、.NET Core 3.0.100、Visual Studio 2019 Community。我遵循本指南 https://learn.microsoft.c
考虑以下简单的 appsettings.json: { "maintenanceMode": true } 它加载在我的 Startup.cs/Configure(...) 方法中 public
当我尝试在 visual studio 2015 中构建项目时,我在 ConfigureServices 方法中遇到了问题。 最佳答案 检查您尝试使用的 asp.net-mvc 版本。看起来您正在混合
我将 API 配置分为两个项目(主要项目和次要项目)。在主体 Startup.cs 中,我配置了 Autofac,在辅助中,我使用了主体返回的 IServiceCollection。 要注册一个 Au
我是一名优秀的程序员,十分优秀!