如何解决ASP.NET Core Api控制器中的奇怪CultureNotFoundException
这是从Azure App Service事件日志中提取的。我认为这与我需要使用的某些Localized Int.Parse(string,CultureInfo)有关,因为我必须处理几种不同的文化。 ¿有解决此问题的答案吗?
EventId: 2
RequestId: 8004d77f-0000-f100-b63f-84710c7967bb
RequestPath: /AqApiMain
SpanId: 950dbd1722568446
TraceId: ac982bf4d892904e93be1e94cd04e2e6
ParentId: 0000000000000000
Connection ID "17365880164751562619",Request ID "8004d77f-0000-f100-b63f-84710c7967bb": An unhandled exception was thrown by the application.
Exception:
System.Globalization.CultureNotFoundException: Culture is not supported. (Parameter 'name')
en_US is an invalid culture identifier.
at System.Globalization.CultureInfo..ctor(String name,Boolean useUserOverride)
at System.Globalization.CultureInfo.CreateSpecificCulture(String name)
at AqProjectHopkinsAgain.Services.AqMainService..ctor(BlobServiceClient blobServiceClient) in C:\Users\verbo\source\repos\AqProjectHopkinsAgain2\Services\AqMainService.cs:line 47
at System.RuntimeMethodHandle.InvokeMethod(Object target,Object[] arguments,Signature sig,Boolean constructor,Boolean wrapExceptions)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,Binder binder,Object[] parameters,CultureInfo culture)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite,RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite,TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite,RuntimeResolverContext context,ServiceProviderEngineScope serviceProviderEngine,RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite,RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite,TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite,ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType,ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)
at lambda_method(Closure,IServiceProvider,Object[] )
at Microsoft.AspNetCore.Mvc.Controllers.ControllerActivatorProvider.<>c__DisplayClass4_0.<CreateActivator>b__0(ControllerContext controllerContext)
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass5_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next,Scope& scope,Object& state,Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker,Task lastTask,State next,Scope scope,Object state,Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint,Task requestTask,ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT`1.ProcessRequestAsync()
</Data></EventData></Event><Event><System><Provider Name="Visual Studio Remote Debugger"/><EventID>1001</EventID><Level>1</Level><Task>0</Task><Keywords>Keywords</Keywords><TimeCreated SystemTime="2020-09-03T11:14:32Z"/><EventRecordID>1250925329</EventRecordID><Channel>Application</Channel><Computer>RD0050F28109E2</Computer><Security/></System><EventData><Data>Msvsmon was unable to start a server named '127.0.0.1:52845'. The following error occurred: An instance of the remote debugger is already running on this computer,or another process is already bound to the specified TCP/IP port.
解决方法
clientSecret
应该是en_US
。
像这样创建它:
en-US
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。