[英]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 应用程序服务上,而不是在本地主机上)。
预先感谢您愿意提供帮助!
抱歉耽误了大家! 我在家过节。
所以事实证明,POST 的问题在于我忘记向尝试向数据库发布帖子的 Azure IP 地址授予正确的权限。 它在本地运行良好,因为我使用了具有正确权限的不同数据库。 如果您不熟悉,以下是我向指定用户授予所有权限的方式。
GRANT ALL PRIVILEGES ON databaseName.* TO 'user'@'address';
FLUSH PRIVILEGES;
在那之后工作得很好。 感谢大家的洞察!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.