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