繁体   English   中英

将 MVC 应用程序部署到 Azure 应用服务时的 POSTS 问题

[英]Issue with POSTS when deploying MVC app to Azure App Service

我有一个完整的 Web 应用程序,可以在 localhost 上完美运行。 每个端点都被正确击中,并且顺利结束。 但是,当我将此 Web 应用发布到 Azure 应用服务时,没有命中任何 POST 调用。 当我观察网络​​选项卡内部发生的事情时,我看到了 404。 这似乎只发生在 POST 而不是 GET。 GET 似乎工作正常。

另外,需要注意的是,我正在使用 Razor 页面处理程序来触发操作。 如您所见,我有一个 Razor 页面处理程序asp-page-handler="Login" ,它应该在后面的代码中触发一个名为OnPostLogin

CSHTML:

 <form class="text-center p-5" method="post">
     <h5>UserName</h5>
     <div asp-validation-summary="All" class="error-message"></div>
     <input type="text" id="defaultLoginFormEmail" class="form-control mb-4" placeholder="UserName" asp-for="@Model.UserName">
     <h5>Password</h5> 
     <input type="password" id="defaultLoginFormPassword" class="form-control mb-4" placeholder="Password" asp-for="@Model.Password">
     <button class="btn btn-block my-4" type="submit" asp-page-handler="Login">Sign in</button>
 </form>

这是此 Razor 页面的代码隐藏方法:

public async Task<IActionResult> OnPostLogin()
 {
            var result = await _signInManager.PasswordSignInAsync(Input.UserName, Input.Password, false, false);
            // if successful login
            else if (result.Succeeded)
                Response.Redirect(Request.Path.ToString());

            // if unsuccessful
            else return RedirectToPage("/Account/LoginError");

            return Page();
}

当我单击登录按钮时,它甚至似乎都没有被击中。 请记住,这不仅仅是此特定 POST 的问题。 这是所有 POSTS 的问题(仅在 azure 应用程序服务上,而不是在本地主机上)。

预先感谢您愿意提供帮助!

我创建了一个基于 ASP.NET 核心的 Razor Pages Web 应用程序。

Razor 页面处理程序: 在此处输入图片说明

控制器代码: 在此处输入图片说明

发布到 Azure 后,它无需 404 即可工作。

得到: 在此处输入图片说明

邮政: 在此处输入图片说明

抱歉耽误了大家! 我在家过节。

所以事实证明,POST 的问题在于我忘记向尝试向数据库发布帖子的 Azure IP 地址授予正确的权限。 它在本地运行良好,因为我使用了具有正确权限的不同数据库。 如果您不熟悉,以下是我向指定用户授予所有权限的方式。

GRANT ALL PRIVILEGES ON databaseName.* TO 'user'@'address';

FLUSH PRIVILEGES;

在那之后工作得很好。 感谢大家的洞察!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM