在 Blazor 组件中使用 @attribute [CascadingParameter] 属性指定单例服务的作用域,确保每个组件中使用的是同一个实例。
示例代码:
public class MySingletonService
{
public string Value { get; set; } = "Default Value";
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton();
}
@inject MySingletonService MySingletonServiceInstance
@MySingletonServiceInstance.Value
@attribute [CascadingParameter(Name = "MySingletonServiceInstance")] MySingletonService MySingletonServiceInstance
@MySingletonServiceInstance.Value