abp运行时System.InvalidOperationException: Scheme already exists: Bearer

最近想把搭的abp框架从core3.1跟风到net5,添加了自定义的swagger后,页面报错500.30,如图

 

 

 

查看日志后,内容如下:

复制代码
 1 2021-02-04 12:19:39.436 +08:00 [FTL] Host terminated unexpectedly!
 2 Autofac.Core.DependencyResolutionException: An exception was thrown while activating λ:Microsoft.Extensions.Hosting.IHostedService[] -> Microsoft.AspNetCore.Hosting.GenericWebHostService -> Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer -> Microsoft.AspNetCore.Authentication.AuthenticationSchemeProvider.
 3  ---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.Extensions.Options.IOptions`1[Microsoft.AspNetCore.Authentication.AuthenticationOptions])' on type 'AuthenticationSchemeProvider'.
 4  ---> System.InvalidOperationException: Scheme already exists: Bearer
 5    at Microsoft.AspNetCore.Authentication.AuthenticationOptions.AddScheme(String name, Action`1 configureBuilder)
 6    at Microsoft.AspNetCore.Authentication.AuthenticationBuilder.<>c__DisplayClass4_0`2.<AddSchemeHelper>b__0(AuthenticationOptions o)
 7    at Microsoft.Extensions.Options.ConfigureNamedOptions`1.Configure(String name, TOptions options)
 8    at Microsoft.Extensions.Options.OptionsFactory`1.Create(String name)
 9    at Microsoft.Extensions.Options.OptionsManager`1.<>c__DisplayClass5_0.<Get>b__0()
10    at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
11    at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
12    at System.Lazy`1.CreateValue()
13    at System.Lazy`1.get_Value()
14    at Microsoft.Extensions.Options.OptionsCache`1.GetOrAdd(String name, Func`1 createOptions)
15    at Microsoft.Extensions.Options.OptionsManager`1.Get(String name)
16    at Microsoft.Extensions.Options.OptionsManager`1.get_Value()
17    at Microsoft.AspNetCore.Authentication.AuthenticationSchemeProvider..ctor(IOptions`1 options, IDictionary`2 schemes)
18    at lambda_method947(Closure , Object[] )
19    at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
20    --- End of inner exception stack trace ---
21    at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
22    at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
23    at Autofac.Core.Activators.Reflection.ReflectionActivator.<ConfigurePipeline>b__11_0(ResolveRequestContext ctxt, Action`1 next)
24    at Autofac.Core.Resolving.Middleware.DelegateMiddleware.Execute(ResolveRequestContext context, Action`1 next)
25    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
26    at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
27    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
28    at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
29    --- End of inner exception stack trace ---
30    at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
31    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
32    at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt)
33    at Autofac.Core.Resolving.Middleware.RegistrationPipelineInvokeMiddleware.Execute(ResolveRequestContext context, Action`1 next)
34    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
35    at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
36    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
37    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
38    at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next)
39    at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
40    at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt)
41    at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
42    at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest request)
43    at Autofac.Core.Resolving.ResolveOperation.Execute(ResolveRequest request)
44    at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest request)
45    at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
46    at Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable`1 parameters)
47    at Autofac.ResolutionExtensions.ResolveOptional(IComponentContext context, Type serviceType, IEnumerable`1 parameters)
48    at Autofac.ResolutionExtensions.ResolveOptional(IComponentContext context, Type serviceType)
49    at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetService(Type serviceType)
50    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
51    at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
52    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
53    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
54    at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
55    at Pro215.Web.Program.Main(String[] args) in D:\abp_Project3\Pro215\src\Pro215.Web\Program.cs:line 31
复制代码

老外也遇到了这个问题,链接:https://stackoverflow.com/questions/51775330/invalidoperationexception-scheme-already-exists-bearer/51793639

我的情况与他不一样,经过查找web项目module中,ConfigureServices方法里,调用ConfigureAuthentication时,添加了认证,我自己自定义又添加了一遍,导致出现Scheme already exists: Bearer错误,因为已经存在还添加,不报错才怪。

posted @   0Behavior  阅读(1909)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示