[英]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.