我有一个服务器端的 Blazor 应用程序,按照 Visual Studio 模板建议设置了身份验证。然后,我添加了标识脚手架项。现在,我尝试将 razor 组件添加到登录屏幕上,以便可以在同一设计中保留所有内容。
在页面本身上,我添加了以下内容:
<script src="~/_framework/blazor.server.js"></script>
<Login>
@(await Html.RenderComponentAsync<ApplySupportTool.Blazor.Pages.Shared.Login>(RenderMode.Server))
</Login>
现在由于身份页面在其自己的进程中运行(基于ScaffoldingReadme),这是在IdentityHostingStartup.cs
中设置的,我尝试在那里添加Blazor设置:
builder.ConfigureServices((context, services) => {
});
builder.UseStartup<IdentityStartup>();
public class IdentityStartup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddServerSideBlazor();
}
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
});
}
}
但是,一旦我这样做,当我尝试在programm.cs中解析我的DB上下文时,就会出现空指针异常。有趣的是,即使在IdentityStartup中只有空方法体时,也会发生这种情况。另外,我试图将所有的DB初始化代码移动到启动文件中以避免空指针异常,但是网站就不能启动了。 我需要在不同的地方或者以不同的方式设置吗?