私は支払いの確認後にデータを更新するAPIの一部としてこの機能を持っています。 それはすべての作品やデータを更新しますが、指定されたURLへのリダイレクトに失敗し、このエラーがスローされます。 非同期機能を使用していないときに非同期エラーが発生しますか?
私はどこでも非同期を使用していないとして、私はそれを取得していますなぜ私は理解していませんか?ヘルプをいただければ幸いです。あなたはこれらのメソッドの前でのawaitを入れて試すことができ
public HttpResponseMessage PaymentConfirmed(string id, string email, string status, string amount, string product)
{
if(status == "Paid")
{
var Id = id;
var Email = email;
var uid = Convert.ToInt32(Id);
var userbyId = RepositoryHelper.GetPersonFromId(uid);
if (userbyId.UserType == "Donation")
{
RepositoryHelper.UpdateDonation(userbyId, amount);
}
if (userbyId.UserType == "Sponsor")
{
var school = RepositoryHelper.GetSchoolByUser(userbyId);
RepositoryHelper.AddFreeUsers(school);
}
if (userbyId.UserType == "School" || userbyId.UserType == "Pupil")
{
var complete = RepositoryHelper.UpgradeToPaid(userbyId);
}
SendUserPaymentConfirmed(userbyId);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("http://url here");
return response;
}
return null;
}
を働く、その中に
client.SendAsync(mailMessage, null);
を抱かた空間を返されたが、問題を発見
はあなたがタスクを返す呼び出しているこれらの方法の確認noneですか? 'RepositoryHelper.UpdateDonation'、' RepositoryHelper.AddFreeUsers'、 'RepositoryHelper.UpgradeToPaid'、' SendUserPaymentConfirmed'のように? – Igor
これらのどれも返されていないことを100%確信してください – scottdavidwalker
私の送信メッセージは無効になりましたが、問題が見つかりました。 "client.SendAsync(mailMessage、null);" 削除してすべて正常に動作します – scottdavidwalker