如何从回调方法返回值 [英] How do I return value from callback method
本文介绍了如何从回调方法返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用此代码在asp.net中发送电子邮件。这个方法是在class.i想要在发送完成时保存电子邮件信息。如果发送返回true,如果发生错误,则可以从此方法返回一个值到页面返回false.then代码在页面保存电子邮件信息?
提前谢谢你。
i use this code to send email in asp.net.this methos is in class.i want to save email info when send completed.how can return a value from this method to page that if send return true,if error occured return false.then code in page save email info?
thank you in advance.
public void SendAsyncMail()
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("Enter from mail address");
mail.To.Add(new MailAddress("Enter to address #1"));
mail.To.Add(new MailAddress("Enter to address #2"));
mail.Subject = "Enter mail subject";
mail.Body = "Enter mail body";
SmtpClient smtpClient = new SmtpClient();
Object state = mail;
//event handler for asynchronous call
smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
try
{
smtpClient.SendAsync(mail, state);
}
catch (Exception ex) { /* exception handling code here */ }
}
void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
MailMessage mail = e.UserState as MailMessage;
if (!e.Cancelled && e.Error!=null)
{
message.Text = "Mail sent successfully";
}
}
推荐答案
实现此目的的一种方法是覆盖AsyncCompletedEventArgs
并实现自己的返回方法。
例如
One approach to achieve this is to overrideAsyncCompletedEventArgs
and implement your own return methods.
For e.g.
public class CalculatePrimeCompletedEventArgs :
AsyncCompletedEventArgs
{
public CalculatePrimeCompletedEventArgs(
...)
{
//Do stuff
}
}
完整示例,请尝试如何:实现支持基于事件的异步模式的组件 [ ^ ]。
这篇关于如何从回调方法返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文