首页 > 其他分享 >Blazor里,如何在 razor 页面使用 BackgroundService 实例

Blazor里,如何在 razor 页面使用 BackgroundService 实例

时间:2024-02-01 16:57:40浏览次数:34  
标签:razor BackgroundService IPageStateService AddHostedService 实例 Blazor 页面

Blazor 使用 BackgroundService 需要注册

builder.Services.AddHostedService<PageStateService>();

razor 页面要使用 PageStateService 的实例,需要 PageStateService 有接口,我们给 PageStateService 写一个接口 IPageStateService

然后在页面直接注入实例

@inject IPageStateService pageStateService

这个时候启动程序页面会报错,

还需要把 AddHostedService 注册的这个服务的实例和接口关联

builder.Services.AddSingleton<IPageStateService>(provider =>provider.GetServices<IHostedService>().OfType<PageStateService>().Single());

这样 IPageStateService 和 AddHostedService 的实例就是同一个对象了

完整代码就这样

 

标签:razor,BackgroundService,IPageStateService,AddHostedService,实例,Blazor,页面
From: https://www.cnblogs.com/cchong005/p/18001606

相关文章

  • 一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)
    最近做了几个WPF+MudBlazor的小东西,每次从头搭建环境比较繁琐,然鹅搭建过程还没啥技术含量,索性就直接做了个模板,方便以后使用。1.介绍一个用来创建.NET8+WPF+MudBlazor的项目模板适用于VS2022用法:vs插件市场下载or自己通过Github源码编译2.模板打包方......
  • Blazor Hybrid应用将非wwwroot目录下的文件加入静态资源
    以Winfrom为例,创建一个Class继承BlazorWebView这个类,重写CreateFileProvider这个方法就行。保存后,用新控件替换原来的控件,WPF,MAUI同理,但是MAUI只有Windows平台能用下面的代码。其他平台会报错,找不到文件。publicclassCustomBlazorWebView:BlazorWebView{......
  • Blazor SSR/WASM IDS/OIDC 单点登录授权实例4 - 部署服务端/独立WASM端授权
    目录:OpenID与OAuth2基础知识BlazorwasmGoogle登录BlazorwasmGitee码云登录BlazorSSR/WASMIDS/OIDC单点登录授权实例1-建立和配置IDS身份验证服务BlazorSSR/WASMIDS/OIDC单点登录授权实例2-登录信息组件wasmBlazorSSR/WASMIDS/OIDC单点登录授权实例3-服......
  • Blazor SSR/WASM IDS/OIDC 单点登录授权实例5 - Winform 端授权
    目录:OpenID与OAuth2基础知识BlazorwasmGoogle登录BlazorwasmGitee码云登录BlazorSSR/WASMIDS/OIDC单点登录授权实例1-建立和配置IDS身份验证服务BlazorSSR/WASMIDS/OIDC单点登录授权实例2-登录信息组件wasmBlazorSSR/WASMIDS/OIDC单点登录授权实例3-服......
  • ASP.NET Core之Razor Page相关
    cshtml一般是这样:@page@modelIndexModel@{ViewData["Title"]="Homepage";}<divclass="text-center"><h1class="display-4">Welcome</h1><p>Learnabout<ahref="https://l......
  • 在 .net 8 Blazor Identity 中添加Claim
    .net8BlazorIdentity使用IndividualAccount模版时,默认的UserInfo只有Id,Email和UserName。如果想让客户端共享更多用户信息,可以使用自定义的ClaimsPrincipalFactory。代码如下:publicclassFlowYogaClaimsPrincipalFactory(UserManager<YourCustomUserClass>userMana......
  • Blazor Auto IDS/OIDC 单点登录授权实例讲解2
    目录:OpenID与OAuth2基础知识BlazorwasmGoogle登录BlazorwasmGitee码云登录BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解1BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解2BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解3源码BlazorOIDC/Shared1.编辑Bl......
  • Blazor SSR/WASM IDS/OIDC 单点登录授权实例讲解1
    目录:OpenID与OAuth2基础知识BlazorwasmGoogle登录BlazorwasmGitee码云登录BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解1BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解2BlazorSSR/WASMIDS/OIDC单点登录授权实例讲解3源码BlazorOIDC/Server1.建立Bl......
  • C#开源免费的Blazor图表库
    前言今天分享一款基于ApexCharts.js封装的、C#开源免费的Blazor图表库:Blazor-ApexCharts。10款值得推荐的BlazorUI组件库全面的ASP.NETCoreBlazor简介和快速入门ApexCharts.js介绍ApexCharts.js开源地址:https://github.com/apexcharts/apexcharts.jsApexCharts......
  • Blazor学习之旅:文章目录索引
    1Blazor学习路径微软学习社区(MicrosoftLearn)早在两三年前就推出了一门学习路径《使用Blazor构建Web应用程序》,我们可以学到如何通过BlazorWeb应用框架构建我们的第一个Web应用程序。我也是从2023年开始系统学习这个学习路径并形成了一个14篇推文组成的小系列文章。下面,我将......