0

我正在使用 RevalidatingServerAuthenticationStateProvider 来触发 blazor 中访问令牌的刷新。

我想从 Fluxor 注入 IDispatcher,以便在生成新的访问代码后调度新令牌。

我无法将 IDispatcher 注入课堂

如果我注入到构造函数中,blazor 会以空白屏幕开始,并且不会报告错误。

使用 [Inject] 属性只会导致 null 属性。

注意:我可以在其他地方注入IDispatcher并使用,并且在DI中注册。

关于如何从内部发送消息的任何建议?

如果这有什么不同,我正在使用 blazor 服务器。

4

1 回答 1

0

我的猜测是你没有用依赖注入容器注册你的类。

示例Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IMyClass, MyClass>();
}

然后你可以像这样使用
razor

@inject IMyClass MyClassVariable

c#

[Inject]
protected IMyClass MyClassVariable { get; set; }

如果您需要在组件的范围内执行此操作,则可以执行以下操作

protected override void OnInitialized()
{
    MyClassService = ScopedServices.GetRequiredService<IMyClass>();
}

查看Microsoft 文档以获取更多信息

于 2021-09-13T15:01:59.663 回答