Blazor 全局单例对象 - 使用依赖注入?

Jon*_*Jon 3 singleton blazor

我有一个 CUSTOMER 对象,需要访问/可供 Blazor 应用程序的所有部分使用,从 MainLayout 到 NavMenu 再到 razor 组件。如何实现全局单例对象?

我尝试在Startup.cs中使用 DI ,如下所示

services.AddSingleton<ICustomer, Customer>();
Run Code Online (Sandbox Code Playgroud)

然后在MainLayout中

@inject Customer cust
Run Code Online (Sandbox Code Playgroud)

然后设置一些属性。

然后在客户页面

  @inject Customer cust
Run Code Online (Sandbox Code Playgroud)

但 CUSTOMERPAGE 中的值是空白的

我缺少什么?我需要在整个应用程序中保留这个对象。

Thi*_*rez 5

您应该通过接口注入:

@inject ICustomer cust
Run Code Online (Sandbox Code Playgroud)

或者自己注册类:

services.AddSingleton<Customer, Customer>();

@inject Customer cust
Run Code Online (Sandbox Code Playgroud)