在确认付款后,我将此功能作为api的一部分来更新数据。 它全部工作并更新数据但无法重定向到指定的URl并抛出此错误:
我不明白为什么我得到它,因为我没有在任何地方使用异步?帮助将不胜感激。
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;
}
答案 0 :(得分:0)
您可以尝试在这些方法调用之前进行等待:
public Task<HttpResponseMessage> PaymentConfirmed
然后在方法声明中更改它:
{{1}}
构建项目并修复有错误的位置。很可能不支持异步的方法会抱怨或会出错。然后再次运行API,看看是否仍然出现相同的错误。
答案 1 :(得分:0)
用户错误!!!!!!
发现了这个问题,虽然我的发送消息返回了一个空白,但它已经嵌入其中
client.SendAsync(mailMessage, null);
删除它,一切正常