提供了无效的请求URI。 (堆栈跟踪中没有有用的信息)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提供了无效的请求URI。 (堆栈跟踪中没有有用的信息)相关的知识,希望对你有一定的参考价值。

把头发拉出来。一切都很好,然后突然出现,我开始在Microsoft.Owin.Security周围出现一些错误。根据这个网站上的一些提示,我卸载了该软件包以及依赖它的所有软件包(有很多),然后重新安装它们。

现在,当我在调试中运行该站点时,我得到了这个:

提供了无效的请求URI。请求URI必须是绝对URI或必须设置BaseAddress。

令人沮丧的是,无法在堆栈跟踪中找到任何我能理解的东西。我将它贴在下面。

.NET 4.7.1 Visual Studio 2017中的Web应用程序

有关如何进行故障排除的任何提示都会有所帮助。我已经删除了整个解决方案,并从TFS中重新删除了它。使用相同源代码的队友没有看到这一点。

编辑:

我能够达到断点的唯一地方是索引控制器中的构造函数。那个构造函数是空的。断点命中,然后即使我进入调试,接下来发生的事情是抛出错误。如果我能准确确定导致错误的位置/原因,那将会很好,但即便如此,我也遇到了麻烦。

Stack Trace: 


[InvalidOperationException: An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set.]
   System.Net.Http.HttpClient.PrepareRequestMessage(HttpRequestMessage request) +335995
   System.Net.Http.HttpClient.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken) +99
   System.Net.Http.HttpClient.GetAsync(Uri requestUri, HttpCompletionOption completionOption, CancellationToken cancellationToken) +65
   Microsoft.IdentityModel.Protocols.<GetDocumentAsync>d__8.MoveNext() +196

[IOException: IDX20804: Unable to retrieve document from: '[PII is hidden]'.]
   Microsoft.IdentityModel.Protocols.<GetDocumentAsync>d__8.MoveNext() +662
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.IdentityModel.Protocols.OpenIdConnect.<GetAsync>d__3.MoveNext() +291
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) +25
   Microsoft.IdentityModel.Protocols.<GetConfigurationAsync>d__24.MoveNext() +1129

[InvalidOperationException: IDX20803: Unable to obtain configuration from: '[PII is hidden]'.]
   Microsoft.IdentityModel.Protocols.<GetConfigurationAsync>d__24.MoveNext() +1586
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.OpenIdConnect.<ApplyResponseChallengeAsync>d__8.MoveNext() +432
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<ApplyResponseCoreAsync>d__40.MoveNext() +272
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<ApplyResponseAsync>d__39.MoveNext() +271
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<TeardownAsync>d__34.MoveNext() +158
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<Invoke>d__5.MoveNext() +659
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.<RunApp>d__7.MoveNext() +179
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<Invoke>d__5.MoveNext() +519
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Security.Infrastructure.<Invoke>d__5.MoveNext() +519
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.<RunApp>d__7.MoveNext() +179
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.<DoFinalWork>d__12.MoveNext() +180
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar) +69
   Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.EndFinalWork(IAsyncResult ar) +64
   System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +380
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +48
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +159
答案

为了记录PII相关异常的其他细节,请尝试在ShowPII = true类中的Configure方法中设置Startup

Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;

这应该将其他详细信息记录到输出窗口。

另一答案

请检查this threadthis thread。我相信你需要照顾“无法从中获取配置”的例外,希望这些有所帮助。 :)

另一答案

我花了两天时间。问题是权限URL不正确。检查您在Azure中设置的授权URL以及您的应用程序是否相同。

希望这能有所帮助。

以上是关于提供了无效的请求URI。 (堆栈跟踪中没有有用的信息)的主要内容,如果未能解决你的问题,请参考以下文章

没有有用的堆栈跟踪的 Android 应用程序崩溃

Azure 前门:请求 URI 无效

“请求中的 URI 无效”尝试代理 iframe 内容以进行本地调试

PhpUnit 未显示 php 致命错误的堆栈跟踪

PhpUnit 未显示 php 致命错误的堆栈跟踪

提供的 URI 方案“https”无效;预期的“http”。参数名称:通过