Я новичок в асинхронных методах в MVC C #, поэтому я попробовал несколько примеров из Этот урок
Итак, я закодировал класс с методом для сохранения creditcardtoken
public async Task<CreditCardToken> RegisterCardTokenAsync(CreditCardToken creditCardToken)
{
if (creditCardToken == null) return null;
creditCardToken.number = creditCardToken.maskedNumber;
_dbContext.CreditCardToken.Add(creditCardToken);
var saveChanges = await (_dbContext.SaveChangesAsync());
if (saveChanges > 0) return creditCardToken;
else return null;
}
У моего контроллера есть метод, который вызывает my registerCardTokenAsync
[HttpPost]
public ActionResult IngresarTargeta(CreditCardViewModel creditCardViewModel)
{
//do something here....
//do another thing....
var query = MyClass.RegisterCardTokenAsync(creditCardToken);
query.Wait();
}
Теоретически мы используем query.Wait()
, чтобы "дождаться" завершения операции.Моя проблема в том, что в моей базе данных CreditCardToken
сохраняется, однако мое приложение просто зависает.
Почему это происходит и как я могу решить эту проблему?
Насколько я знаю, ждуттребуется при выполнении FirstOrDefaultAsync()
.