我有一个 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 中的值是空白的
我缺少什么?我需要在整个应用程序中保留这个对象。
您应该通过接口注入:
@inject ICustomer cust
Run Code Online (Sandbox Code Playgroud)
或者自己注册类:
services.AddSingleton<Customer, Customer>();
@inject Customer cust
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |