を取得します。は、私は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
の結果を取得したいです。私はそれをどのように達成するのですか?
私はあなたが解決しようとしましたが、まだそれを動作させることはありません。私のコントローラでは 'SendAsmailAsync'ではなく' SendAsmailAsync'を呼び出します。私は 'manager.EmailService =新しいEmailService()を呼び出して、私は私のUserManagerクラス;' –