添加对每个请求唯一的自定义单例

Adding a custom singleton that is unique for each request

我一直在努力找出 asp net core 附带的依赖模式。这就是我想要实现的目标。

_ViewImports.cshtml

...    
@inject AdminBuilder AdminBuilder
...

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddHttpContextIshSingleton<AdminBuilder>();
    ...
}

AnyCSHtmlFile.cshtml

@AdminBuilder.AddStuff()
@AdminBuilder.EnableStuff()
@AdminBuilder.DoStuff()
// It'll then populate the AdminBuilder instance, which needs to be a unique instance for each visit.

Layout.cshtml

在这里,我将根据呈现页面时添加的内容,从部分 .cshtml 文件呈现底部的 AdminBuilder。

使用services.AddScoped<AdminBuilder>().

您可以在官方文档中阅读有关内置生命周期的更多信息:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.1#service-lifetimes