ハングして戻ってこない次のアクションがありました。
public Task<ActionResult> ManageProfile(ManageProfileMessageId? message)
{
ViewBag.StatusMessage =
message == ManageProfileMessageId.ChangeProfileSuccess
? "Your profile has been updated."
: message == ManageProfileMessageId.Error
? "An error has occurred."
: "";
ViewBag.ReturnUrl = Url.Action("ManageProfile");
var user = UserManager.FindByIdAsync(User.Identity.GetUserId());
var profileModel = new UserProfileViewModel
{
Email = user.Email,
City = user.City,
Country = user.Country
};
return View(profileModel);
}
しかし、私がこれに変換したとき:
public async Task<ActionResult> ManageProfile(ManageProfileMessageId? message)
{
ViewBag.StatusMessage =
message == ManageProfileMessageId.ChangeProfileSuccess
? "Your profile has been updated."
: message == ManageProfileMessageId.Error
? "An error has occurred."
: "";
ViewBag.ReturnUrl = Url.Action("ManageProfile");
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
var profileModel = new UserProfileViewModel
{
Email = user.Email,
City = user.City,
Country = user.Country
};
return View(profileModel);
}
それはすぐに戻った。それで、これで何が起こっているのかわかりませんか?FindByIdAsync の結果を待たずに返されたメソッドと同じくらい単純な場合、何も含まれていないビューを取得しなかったのはなぜですか。
したがって、次の戻り値を待っていないように見えます。
UserManager.FindByIdAsync(User.Identity.GetUserId());
null プロファイルを返したり、例外をスローしたりしませんでした。したがって、最初の例でぶら下がっているときに何が起こっているのかわかりません。