(对不住大家了,这几天公司项目太忙,加上身体不适,有几天没有来更新了。)
我们需要做两个 WebService,一个用来接收邮件,一个用来发送邮件:
然后在 WebService 中各添加一个方法 Start 用来启动收发线程。因为我们需要实时获取收发信息,所以我们把对象存储到 Session 中,这样方便实时返回当前线程进行到什么程序,有些什么状态等:
[WebMethod(EnableSession = true)]
public string[] Start() {
HttpContext context = HttpContext.Current;
MailThread mail = null;
object mailObj = context.Session[MailHelper.POP3Name];
if (mailObj != null) {// 是否已经存在
mail = (MailThread)mailObj;
}
else {// 创建新的线程
mail = new MailThread();
context.Session.Add(MailHelper.POP3Name, mail);
mail.ReceiveStart();
}
if (mail.Pop3State >= 2) {// 接收完就不要了
mail.ReceiveStop();
context.Session.Remove(MailHelper.POP3Name);
}
return new string[] { mail.Pop3State.ToString(), mail.Pop3Mail, mail.Pop3Message };
}
[WebMethod(EnableSession = true)]
public string[] Start() {
HttpContext context = HttpContext.Current;
MailThread mail = null;
object mailObj = context.Session[MailHelper.SMTPName];
if (mailObj != null) {// 是否存在
mail = (MailThread)mailObj;
}
else {// 创建新的线程
mail = new MailThread(isstart);
context.Session.Add(MailHelper.SMTPName, mail);
mail.SendStart();
}
if (mail.SmtpState >= 2) {// 发送完就不要了
mail.SendStop();
context.Session.Remove(MailHelper.SMTPName);
}
return new string[] { mail.SmtpState.ToString(), mail.SmtpMail, mail.SmtpMessage };
}
好了,WebService 很简单。我们再来看看怎么调用:
首先向 Header.aspx 中添加 AJAX 控件 ScriptManager,然后添加两个 Service 引用:
再添加两个实时信息栏:
剩下的就是如何调用 WebService 向这两个信息栏中填充数据:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-609238/ ,如需转载,请注明出处,否则将追究法律责任。