首页 > 解决方案 > 诸如 Login.cshtml 之类的 Blazor Scaffold 项在发布时不会在该地址文件,但在本地主机上工作

问题描述

我有一个 Blazor Web 应用程序,目前在本地主机上运行良好。当我在 Visual Studio 中运行应用程序时,它会检查用户是否被授权并重定向到登录页面。登录页面是我添加的一个脚手架项目,并调整了页面的外观,它在路径中仍然称为 login.cshtml:/Identity/Account/Login。

当我在本地运行代码时 - 并单击它重定向的链接非常好:

   <a id="login" href="/Identity/Account/Login">Login</a>

这是本地链接 https://localhost:44321/Identity/Account/Login (工作正常)

我已通过右键单击发布将此 blazor 应用程序发布到 Azure Linux。成功发布后,它会将我直接带到“抱歉,此地址没有任何内容”。(https://myblazorappname.azurewebsites.net/Identity/Account/Login

所有 .razor 页面在发布时似乎都运行良好。但是 .cshtml 文件有问题。忘记密码的脚手架项目是同样的问题。

Default.razor - 这是它转到的第一个 .razor 页面,如果您已经登录,它会根据授权将您带到 Authors.razor,否则我希望它带我到 Login.cshtml。

正如我所提到的,这在 Visual Studio 的调试模式下本地工作得很好。

@page "/"
@inherits LayoutComponentBase
@inject NavigationManager NavigationManager


<AuthorizeView>
    <Authorized>
        <Authors /> -- WORKS FINE
    </Authorized>
    <NotAuthorized>

        <a id="login" href="/Identity/Account/Login">Login</a> -- DOSENT WORK (Login.cshtml)
        <a id="forgot-password" href="/Identity/Account/ForgotPassword">Forgot password?</a> -- DOESNT WORK

        <a href="authors">Go to authors</a> -- WORKS FINE (Authors.Razor)

        @*<RedirectToLogin />*@
    </NotAuthorized>
</AuthorizeView>


@code {


}

当它加载时,我收到以下错误并且不知道如何调试:

在此处输入图像描述

我在这里错过了什么吗?

标签: c#blazor

解决方案


推荐阅读