小编Jan*_*Bae的帖子

如何在asp.net core中的startup.cs文件的configure方法中更改作用域服务的属性值

我将在startup.cs 文件中更改或插入一些值到我的作用域服务中。

这是我的代码。

我正在向 MyService.SomeData 属性插入一个值。但是,在视图页面中,打印空值。

这是为什么?

启动.cs

namespace MyProject
{
    public class Startup
    {
        .
        .
        .
        public void ConfigureServices(IServiceCollection services)
        {
            .
            .
            .
            services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
            services.AddScoped<MyService>();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            var scope = app.ApplicationServices.CreateScope();
            var MyService = scope.ServiceProvider.GetService<MyService>();
            app.Use(async (context, next) => 
            {
                if (context.Request.Query.ContainKey("conditionKey") && context.Request.Query["conditonKey"] == "something")
                {
                    MyService.SomeData = "foo";
                }
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyService.cs

namespace MyProject.Service
{
    public class MyService
    {
        public string SomeData { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core

2
推荐指数
1
解决办法
2565
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

c# ×1