的返回類型我使用ASP.NET身份2.2.1。獲取任務(未任務<T>)
我實現接口IIdentityMessageService
這樣的:
public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
string body = ONMailStyles.getOpening();
body += message.Body;
Mail mailService = new Mail(message.Destination, message.Subject, body);
string succes = mailService.send();
return Task.FromResult(succes);
}
}
下面是我的郵件類的(部分):
public class Mail
{
public MailMessage message { get; set; }
public string send(string host, int port, string username, string wachtwoord, int timeout)
{
SmtpClient ss = new SmtpClient(host, port);
ss.EnableSsl = true;
ss.Timeout = timeout;
ss.DeliveryMethod = SmtpDeliveryMethod.Network;
ss.UseDefaultCredentials = false;
ss.Credentials = new System.Net.NetworkCredential(username, wachtwoord);
try
{
ss.Send(message);
message.Dispose();
return "succes";
}
catch (Exception ex)
{
return "no succes: " + ex.ToString();
}
}
}
在我的控制器之一,我有以下行:
var emailResult = UserManager.SendEmailAsync(user.Id, "Activeer uw lichtmeting account.", htmlMessage);
我得到一個結果回Task
類型。如果我有一個await
這樣我有望獲得的succes
串結果:
var emailResult = await UserManager.SendEmailAsync(user.Id, "Activeer uw lichtmeting account.", htmlMessage);
,但我得到以下編譯錯誤:「不能分配空隙的隱式類型的變量」。我只是想獲得的success
結果在我的控制器。我如何實現這一目標?
我試過你是解決方案,但仍然沒有得到它的工作。注意我在我的控制器中調用'SendEmailAsync'而不是'SendAsync'。我的UserManager類叫'manager.EmailService = new EmailService();' –