HttpContext始终为null

我正在做一个Blazor服务器端项目,我需要将HttpContext放入我的SignInService中,以便SignInmanager服务可以登录用户。我这样更新了Startup.cs文件:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(
                Configuration.getconnectionString("DefaultConnection")));
        services.AddDefaultIdentity<IdentityUser>()
            .AddEntityFrameworkStores<ApplicationDbContext>();
        services.AddRazorPages();
        services.AddServerSideBlazor();
        services.AddScoped<LogInService>();
        services.AddScoped<SignInmanager<IdentityUser>>();
        services.AddHttpContextaccessor(); //Line added
    }

但是,无论是在客户端还是在服务器端,HttpContextaccessor.HttpContext始终为空。

为什么这样?我错过了创业公司的东西吗?通常,我应该通过依赖项注入services.AddHttpContextaccessor();来获取上下文,但是它不会发生。

编辑::这是SignInService,需要使用HttpContext

 public class SignInService
    {
        private readonly SignInmanager<IdentityUser> _signInmanager;

        public SignInService(SignInmanager<IdentityUser> signInmanager) 
        {
            _signInmanager = signInmanager;
        }

        public async Task<SignInResult> TrySignIn(LogInForm logInForm)
        {
            return await _signInmanager.PasswordSignInAsync(logInForm.Mail,logInForm.Password,false,false);
        }
    }
xugh1987 回答:HttpContext始终为null

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3072544.html

大家都在问