8.5K Star 14.1K Fork 4.2K

GVPdotNET China/Furion

 / 详情

RootServices 导致的 Cannot resolve scoped service 的问题

已完成
创建于  
2021-06-16 14:39

特别说明:如果 Issue 报告为问题且开发成员回复确认问题之后但三天内都不能得到反馈,则视为无效Issue。

Furion 版本号

哪个版本号?
2.8

Web 项目类型

  • WebApi
  • Mvc
  • Razor Pages
  • Blazor Server

描述你的问题

发生了什么?

2.65 版本与2.62版本 的一个改动 【RootServices】 是干什么的,更新之后,IOptionsSnapshot 配置服务解析出问题了。

把RootServices替换成null即可正常读取配置。


异常堆栈信息

异常堆栈是什么?
<s:Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware>
System.InvalidOperationException: Cannot resolve scoped service 'Microsoft.Extensions.Options.IOptionsSnapshot1[Ddf.Common.Settings.VarsOptions]' from root provider. at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution(Type serviceType, IServiceScope scope, IServiceScope rootScope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Furion.App.GetService(Type type, IServiceProvider serviceProvider) in G:\Fork\Furion\framework\Furion\App\App.cs:line 115 at Furion.App.GetService[TService](IServiceProvider serviceProvider) in G:\Fork\Furion\framework\Furion\App\App.cs:line 104 at Furion.App.GetOptionsSnapshot[TOptions](IServiceProvider serviceProvider) in G:\Fork\Furion\framework\Furion\App\App.cs:line 185 at Ddf.Model.Runtime.Static.Options.get_Vars() in D:\duoduofan\src\Ddf\Ddf.Model\Runtimes\Static.cs:line 18 at Ddf.Model.Entities.Main.Tb_User.get_LevelsBenefits() in D:\duoduofan\src\Ddf\Ddf.Model\Entities\Main\Partials\Tb_User.cs:line 38 at Ddf.Model.Dtos.Account.UserDto..ctor(Tb_User user) in D:\duoduofan\src\Ddf\Ddf.Model\Dtos\Account\UserDto.cs:line 28 at Ddf.Web.Api.Handlers.JwtHandler.CheckAuthorzie(AppAuthorizeRequirement requirement, DefaultHttpContext httpContext) in D:\duoduofan\src\Ddf\Ddf.Web.Api\Handlers\JwtHandler.cs:line 87 at Ddf.Web.Api.Handlers.JwtHandler.PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext) in D:\duoduofan\src\Ddf\Ddf.Web.Api\Handlers\JwtHandler.cs:line 49 at Furion.Authorization.AppAuthorizeHandler.AuthorizeHandleAsync(AuthorizationHandlerContext context) in G:\Fork\Furion\framework\Furion\Authorization\Handlers\AppAuthorizeHandler.cs:line 79 at Ddf.Web.Api.Handlers.JwtHandler.HandleAsync(AuthorizationHandlerContext context) in D:\duoduofan\src\Ddf\Ddf.Web.Api\Handlers\JwtHandler.cs:line 34 at Microsoft.AspNetCore.Authorization.DefaultAuthorizationService.AuthorizeAsync(ClaimsPrincipal user, Object resource, IEnumerable1 requirements)
at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthorizeAsync(AuthorizationPolicy policy, AuthenticateResult authenticationResult, HttpContext context, Object resource)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.ResponseCaching.ResponseCachingMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

代码或代码仓库

什么代码导致?


数据库信息

  • Sqlite
  • SqlServer
  • Mysql
  • Oracle
  • PGSql
  • Firebird
  • Cosmos

输入图片说明

输入图片说明

评论 (6)

nsnail 创建了任务 4年前
nsnail 关联仓库设置为dotNET China/Furion 4年前
展开全部操作日志

把这里注释掉 程序正常,否则报错。
输入图片说明

确认是一个 Bug,不过您的改法是不对的,我这边修复并马上更新。

百小僧 任务状态待办的 修改为进行中 4年前
百小僧 负责人设置为百小僧 4年前
百小僧 添加了
 
漏洞
标签
4年前
百小僧 添加了
 
优先
标签
4年前
百小僧 里程碑设置为Furion 2021 4年前
百小僧 关联分支设置为master 4年前
百小僧 计划截止日期设置为2021-06-16 4年前
百小僧 计划开始日期设置为2021-06-16 4年前
百小僧 置顶等级设置为 4年前
百小僧 优先级设置为严重 4年前

今天之内发布。

nsnail-nsnail nsnail
回复 百小僧 拥有者
4年前

神速 赞!

百小僧 通过 dotnetchina/Furion Commit 405b4f6任务状态进行中 修改为已完成 4年前
百小僧 置顶等级 修改为不置顶 4年前

v2.8.9 版本已经更新,感谢。

百小僧 关联分支master 修改为未关联 2年前

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
nsnail-nsnail 974299 monksoul 1578937227
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助