Blazor WebAssembly项目中注册单例服务遇到问题求助
Blazor WebAssembly项目中注册单例服务遇到问题求助
嘿,我来帮你排查这个问题!
首先揪出一个核心矛盾点:你明确说项目是基于.NET 6开发的,但在Counter页面里却使用了@rendermode InteractiveWebAssembly——这个渲染模式是.NET 7才正式推出的特性,.NET 6根本不支持它,这大概率就是你报错的直接原因!
给你两个解决方向:
- 如果你想继续留在.NET 6开发:
直接删掉页面中的@rendermode InteractiveWebAssembly即可。因为在.NET 6的Blazor WebAssembly项目里,默认就是客户端交互式渲染的,完全不需要额外指定这个指令。 - 如果你想使用
InteractiveWebAssembly渲染模式:
那你需要把项目升级到.NET 7及以上版本,放心,你在Program.cs里注册单例服务的代码是完全正确的,升级后不需要改动这部分逻辑。
另外再确认下你的单例实现:GuidObject的写法没问题,注册成单例后,整个应用生命周期内只会实例化一次,不同页面注入后拿到的都会是同一个Guid值。
你可以先试试去掉那个不兼容的渲染模式指令,看看问题是不是就解决了,如果还有其他异常,记得把具体的错误信息补充出来哦!
内容来源于stack exchange
相关产品推荐
相关产品推荐

