【发布时间】:2019-07-04 12:31:50
【问题描述】:
我在从 SendGrid 检索 HTTP 响应代码,然后根据该响应更新标签时遇到问题。由于 SendGrid 调用使用异步方法,我无法返回 response.statuscode;
这是我的代码:
protected void BtnSend_Click(object sender, EventArgs e)
{
lblmsg.InnerText = SendMail(txtEmailId.Text.ToString(),
txtMessage.Text.ToString()); //------------
}
private String SendMail(String EmailId, String Message)
{
var status="";
Execute(EmailId, Message).Wait();
return status;
}
async Task Execute(String EmailId, String Message)
{
var apiKey = "abcdefghijklmnopqrstuvwxyz1234567890";
var client = new SendGridClient(apiKey);
var from = new EmailAddress("myemail@gmail.com", "Sender");
var subject = "Testing Email";
var to = new EmailAddress(EmailId, "Reciever");
var plainTextContent = "You have recieved this message from me";
var htmlContent = Message + "<br><i>-Message sent by me</i>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
var response = await client.SendEmailAsync(msg).ConfigureAwait(false);
var status = response.StatusCode;
}
【问题讨论】:
标签: c# asynchronous sendgrid