当前位置:编程学习 > C#/ASP.NET >>

如何从外部中断BeginInvoke调用的web service执行

'调用代码
Dim objPromoLetter As New localhost.MailService
Dim ar As IAsyncResult = objPromoLetter.BeginSendPromotionLetter(sUsername, sPassword,lngPromoId,New AsyncCallback(AddressOf AsyncSendEmailFinished), objPromoLetter)

Public Function BeginSendPromotionLetter(ByVal sUsername As String, ByVal sPwd As String, ByVal lngPromoId As Long, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
     Return Me.BeginInvoke("SendPromotionLetter", New Object() {sUsername, sPwd, lngPromoId, }, callback, asyncState)
End Function

'web service
<WebMethod(Description:="批量发送邮件") _
> Public Function SendPromotionLetter(ByVal sUsername As String, ByVal sPwd As String, ByVal lngPromoId As Long) As Boolean
   '批量发送邮件代码
End Function

现在想在批量发送邮件时可以通过事件来中断邮件的发送,请问各位要如何解决? --------------------编程问答-------------------- 请提供解决方案,谢谢! --------------------编程问答-------------------- up up up up --------------------编程问答-------------------- 期待解决办法 --------------------编程问答-------------------- 给个C#的例子

private bool isCancel=false;


  MyMethodDelegate d1 = new MyMethodDelegate(Write1);  
  private void button1_Click(object sender, EventArgs e)   
  {   
    
  AsyncResult MyResult1, MyResult2;   
  MyResult1 = (AsyncResult)d1.BeginInvoke(null, null);   
  while(true)//上面要使用回调方法,把判断调不调用d1.EndInvoke,不然像现在这个界面会死在那
  {  
  if(MyResult1.IsCompleted)
  {
  d1.EndInvoke(MyResult1);
  break;
  }
  else if(isCancel)
  {
  //取消操作
  break;
  }

  }
    
  }  
  private void button2_Click(objece sender,EvevtArgs e)  
  {  
  //我想在这里实现 上面d1的中断或退出,该如何实现  
  }  
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,