1
在我的C#Windows窗体应用程序中,我通过Internet从WebServices检索了一些数据。每秒刷新一次如何立即对异步操作的Internet连接更改作出反应?
它作为异步操作,运行良好,但每当应用程序从Internet断开连接时,它将显示一个异常,并且在重新连接到Internet时,程序应自动并立即运行。
目前,该程序需要一分多钟才能重新开始工作,并且我希望异常在连接丢失时被忽略。
它每秒钟刷新一次,这意味着有大量的在同一时间和 当他们全部完成正在运行的线程,那么它涉及到连接
我可以使用哪些解决方案,因此我的程序运行的ASAP当Internet连接?
public void loadbalance()
{
try { //Get Data from Internet }
catch { }
}
delegate void loadbalancedelegate();
public void loadBalanceAsync()
{
loadbalancedelegate worker = new loadbalancedelegate(loadbalance);
AsyncCallback LoadbalnceCallBack = new AsyncCallback(loadbalanceCompleted);
AsyncOperation async = AsyncOperationManager.CreateOperation(null);
worker.BeginInvoke(LoadbalnceCallBack,async);
}
public void loadbalanceCompleted(IAsyncResult result)
{
loadbalancedelegate worker = (loadbalancedelegate) ((AsyncResult)result).AsyncDelegate;
AsyncOperation async = (AsyncOperation)result.AsyncState;
worker.EndInvoke(result);
}
delegate void setControlsBalanceDelegate(BalanceOB ball);
void setControlsBalance(BalanceOB ball)
{
if (this.InvokeRequired)
this.Invoke(new setControlsBalanceDelegate(this.setControlsBalance), new
object[] { ball });
else
{ //Update Data on Form (Windows App)
}
}
依然没能找到任何解决办法,有办法,如果我们可以检查互联网连接每次操作前,但其效率不高 – kawafan