В моем приложении C # Windows Forms я получаю некоторые данные из WebServices через Интернет. Обновлять каждую секунду
Он работает как асинхронные операции и работает хорошо, но всякий раз, когда приложение отключается от Интернета, оно выдает исключение, а при повторном подключении к Интернету программа должна работать автоматически и немедленно .
В настоящее время программе требуется более одной минуты, чтобы начать работать снова, и я хотел бы, чтобы исключение было проигнорировано при разрыве соединения.
обновляется каждую секунду, это означает, что одновременно работает множество потоков и
когда они все закончили, тогда дело доходит до подключения
Какое решение я могу использовать, чтобы мои программы работали как можно скорее при подключении к Интернету?
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)
}
}