请问,用BeginInvoke开启后台线程,怎么要等到EndInvoke程序在往下走? Email email = new Email();//发送邮件类
MethodCaller mc = new MethodCaller(email.email);
IAsyncResult result;
bool r = false;
AutoResetEvent ev = new AutoResetEvent(false);
result = mc.BeginInvoke(email1, email2, empname, body, subject, null, ev);
r = mc.EndInvoke(result); string a= "继续";就是说要等r得到返回值才走到a="继续"。 如何能进去后让他自己跑,不影响主程序往下?beginivoke
MethodCaller mc = new MethodCaller(email.email);
IAsyncResult result;
bool r = false;
AutoResetEvent ev = new AutoResetEvent(false);
result = mc.BeginInvoke(email1, email2, empname, body, subject, null, ev);
r = mc.EndInvoke(result); string a= "继续";就是说要等r得到返回值才走到a="继续"。 如何能进去后让他自己跑,不影响主程序往下?beginivoke
谢谢,我理解了。我不要返回值,只要不接受返回值就可以了。原来它一直在等返回值,才慢的
//r = mc.EndInvoke(result);//用于接收返回值 也谢谢sp1234 的批评。一直给我们帮助