如何从回调方法返回值 [英] How do I return value from callback method

查看:190
本文介绍了如何从回调方法返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用此代码在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 override AsyncCompletedEventArgs and implement your own return methods.
For e.g.
public class CalculatePrimeCompletedEventArgs :
    AsyncCompletedEventArgs
{
public CalculatePrimeCompletedEventArgs(
     ...)
    {
        //Do stuff
    }
}





完整示例,请尝试如何:实现支持基于事件的异步模式的组件 [ ^ ]。


这篇关于如何从回调方法返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆