Identityserver4 主视图中的对象引用未设置错误-MVC客户端快速启动

Identityserver4 主视图中的对象引用未设置错误-MVC客户端快速启动,identityserver4,Identityserver4,我正在尝试通过MVC客户端快速启动,但在快速启动文档之后修改的Index.cshtml中的“@foreach(var prop in(wait Context.authenticatesync()).Properties.Items)”行遇到了“object reference not set…”错误。下面是完整的Index.cshtml。谁能告诉我我做错了什么 @using Microsoft.AspNetCore.Authentication <h2>Claims</h2

我正在尝试通过MVC客户端快速启动,但在快速启动文档之后修改的Index.cshtml中的“@foreach(var prop in(wait Context.authenticatesync()).Properties.Items)”行遇到了“object reference not set…”错误。下面是完整的Index.cshtml。谁能告诉我我做错了什么

@using Microsoft.AspNetCore.Authentication

<h2>Claims</h2>

<dl>
    @foreach (var claim in User.Claims)
    {
        <dt>@claim.Type</dt>
        <dd>@claim.Value</dd>
    }
</dl>

<h2>Properties</h2>

<dl>
    @foreach (var prop in (await Context.AuthenticateAsync()).Properties.Items)
    {
        <dt>@prop.Key</dt>
        <dd>@prop.Value</dd>
    }
</dl>
@使用Microsoft.AspNetCore.Authentication
声称
@foreach(User.Claims中的var声明)
{
@索赔.类型
@索赔价值
}
性质
@foreach(var prop in(wait Context.authenticateSync()).Properties.Items)
{
@道具钥匙
@道具价值
}

您缺少
.RequireAuthorization()关于此部分代码:

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute()
        .RequireAuthorization();
});
RequireAuthorization方法禁用对整个应用程序的匿名访问


下面我有一个工作示例:

这是否回答了您的问题?不是真的,但是谢谢你的投入。我大体上理解NullReferenceException的含义以及如何调试它。但是在本例中,VS没有告诉我代码行中的哪个引用是空的。即使是这样,我也不知道如何修复它,因为整个Index.cshtml是通过从quickstart doc复制粘贴创建的。我怀疑文档可能没有提供文件的完整内容,因此缺少所需的内容。我是MVC新手,所以我不知道该找什么。在这里,您可以做很多事情,将该行分成不同的行,以便更容易地看到哪个命令引发异常,在调试器下检查它。还缺少的是您使用的MVC的哪个版本,可能是指向代码来源的文章的链接,以及在应用程序流程中发生这种情况的步骤?请提供更多信息,以便我们重现问题。非常感谢您的输入!我正在使用IdentityServer4的最新qickstart。这是我跟踪的医生。我将按照你的建议分解代码,看看结果如何。。。再次感谢,就这样!非常感谢你,纳希德!