System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка - PullRequest
0 голосов
/ 09 ноября 2018

Я выполняю длинное задание в фоновом режиме, это может занять несколько минут или часов, и я запускаю это задание периодически ..., каждые 30 минут с повторяющимся заданием:

        NSTimer.CreateRepeatingScheduledTimer(SyncIntervalSeconds, (obj) =>
             {
                 DataOfNextSync = DataOfNextSync.AddSeconds(SyncIntervalSeconds);
                 System.Threading.Tasks.Task.Run(() =>
                        {
                            syncService.FullDataSync();
                        });
             });

внутри "fullsync" я использую HttpClient и SQLite базу данных, получая некоторую информацию с сервера и помещая ее в мою базу данных и сохраняя некоторые файлы на диске

Обычно все работает нормально, но в некоторых случаях я не знаю, почему (часто, когда Mac спит, не всегда), задача останавливается со следующим сообщением об ошибке:

System.AggregateException: произошла одна или несколько ошибок. ---> System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка ---> System.Net.WebException: Ошибка: NameResolutionFailure в System.Net.WebConnection + d__16.MoveNext () [0x0002c] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebConnection .cs: ​​137 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult () [0x00000] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/referencesslass /runtime/compilerservices/TaskAwaiter.cs:447 в System.Net.WebConnection + d__19.MoveNext () [0x000cc] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebConnection .cs: ​​259 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:535 at System.Net.WebOperation+<Run>d__57.MoveNext () [0x00052] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebOperation.cs:268 --- End of stack trace from previous location where exception was thrown --- at System.Net.WebCompletionSource 1 + d__15 [T] .MoveNext () [0x0008e] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs класс / System / System.Net / WebCompletionSource.cs: 111 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- at System.Net.HttpWebRequest + d__241 1[T].MoveNext () [0x000b5] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/HttpWebRequest.cs:952 --- End of stack trace from previous location where exception was thrown --- at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x00018] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/HttpWebRequest.cs:1180 at System.Threading.Tasks.TaskFactory 1 [TResult] .FromAsyncCoreLogic (System.IAsyncResult iar, System.Func 2[T,TResult] endFunction, System.Action 1 [T] endAction, System.Threading.Tasks.Task 1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:550 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1 + ConfiguredTaskAwaiter [ ] .GetResult () [0x00000] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs: 535в System.Net.Http.HttpClientHandler + d__64.MoveNext () [0x003d3] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Htp /System.Net.Http/HttpClientHandler.cs:402 --- Конец внутренней трассировки стека исключений --- в System.Net.Http.HttpClientHandler + d__64.MoveNext () [0x0046c] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Http /System.Net.Http/HttpClientHandler.cs:406 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:535 at System.Net.Http.HttpClient+<SendAsyncWorker>d__46.MoveNext () [0x00080] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:276 --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00013] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2166 at System.Threading.Tasks.Task 1 [TResult] .GetResultCore (System.Boolean waitCompletionNotification) [0x0002b] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0aca//ss MCS / класс / referencesource / mscorlib / система / пронизывающие / Задачи / Future.cs: 562 в System.Threading.Tasks.Task 1[TResult].get_Result () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:532 at Aptos.Core.APIProvider.Get (System.String url, System.Collections.Generic.Dictionary 2 [TKey, TValue] заголовки) [0x00080] в <2162774b92f2416e98dc5d9fc831c8f3>: 0 в Aptos.Core.SynchronizationService.DownloadImage (SQLite.SQLiteConnection conn, System.Collections.Generic.Dictionary 2[TKey,TValue] headers, Aptos.Core.PatientImage newimage, System.String oldRelPath, System.Boolean isImport) [0x00097] in <2162774b92f2416e98dc5d9fc831c8f3>:0 at Aptos.Core.SynchronizationService.GetAllChanges (System.Collections.Generic.Dictionary 2 [TKey, TValue] заголовки) [0x008ba] в <2162774b92f2416e98dc5d9fc831c8f3: 0 ---> (Внутреннее исключение № 0) System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка ---> System.Net.WebException: Ошибка: NameResolutionFailure в System.Net.WebConnection + d__16.MoveNext () [0x0002c] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebConnection .cs: ​​137 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult () [0x00000] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/referencesslass /runtime/compilerservices/TaskAwaiter.cs:447 в System.Net.WebConnection + d__19.MoveNext () [0x000cc] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebConnection .cs: ​​259 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение ---в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:535 at System.Net.WebOperation+<Run>d__57.MoveNext () [0x00052] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/WebOperation.cs:268 --- End of stack trace from previous location where exception was thrown --- at System.Net.WebCompletionSource 1 + d__15 [T] .MoveNext () [0x0008e] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs класс / System / System.Net / WebCompletionSource.cs: 111 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- at System.Net.HttpWebRequest + d__241 1[T].MoveNext () [0x000b5] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/HttpWebRequest.cs:952 --- End of stack trace from previous location where exception was thrown --- at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x00018] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System/System.Net/HttpWebRequest.cs:1180 at System.Threading.Tasks.TaskFactory 1 [TResult] .FromAsyncCoreLogic (System.IAsyncResult iar, System.Func 2[T,TResult] endFunction, System.Action 1 [T] endAction, System.Threading.Tasks.Task 1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:550 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1 + ConfiguredTaskAwaiter [ ] .GetResult () [0x00000] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs: 535 в System.Net.Http.HttpClientHandler + d__64.MoveNext () [0x003d3] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Htp /System.Net.Http/HttpClientHandler.cs:402 --- Конец внутренней трассировки стека исключений --- в System.Net.Http.HttpClientHandler + d__64.MoveNext () [0x0046c] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Http /System.Net.Http/HttpClientHandler.cs:406 --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача System.Threading.Tasks.Task) [0x00037] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macm/ /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача System.Threading.Tasks.Task) [0x00028] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/msin.SMacMacMac /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача System.Threading.Tasks.Task) [0x00008] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Macmcs /referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 в System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1 + ConfiguredTaskAwaiter [TResult] .GetResult () [0x00000] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/lassMacM.Mac referencesource / mscorlib / система / время выполнения / compilerservices / TaskAwaiter.cs: 535 в System.Net.Http.HttpClient + d__46.MoveNext () [0x00080] в /Library/Frameworks/Xamarin.Mac.framework/Versions/5.0.0.0/src/Xamarin.Mac/mcs/class/System.Net.Http /System.Net.Http/HttpClient.cs:276 <--- </p>

...