У меня есть приложение Xamarin.iOS - оно использует https://github.com/Azure/azure-mobile-apps-net-client SDK для связи с мобильной службой Azure. Приложение поддерживает автономное использование - в течение некоторого времени все работает нормально, включая синхронизацию данных офлайн / онлайн-коммутатора и т. Д. Однако, в конце концов, оно получает следующую ошибку: System.Net.Sockets.SocketException: сокет не подключен. Я не знаю, как исправить эту ошибку.
Полное внутреннее исключение:
ex.InnerException.InnerException.InnerException
{System.Net.Sockets.SocketException (0x80004005): сокет не
подключен в System.Net.Sockets.Socket.EndSend (System.IAsyncResult
asyncResult) [0x00013] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/System/net/System/Net/Sockets/Socket.cs:3876
в System.Net.Sockets.NetworkStream.EndWrite (System.IAsyncResult
asyncResult) [0x00057] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/System/net/System/Net/Sockets/NetworkStream.cs:1043
} base: {System.ComponentModel.Win32Exception} ErrorCode: 10057
Сообщение: «Сокет не подключен» SocketErrorCode:
System.Net.Sockets.SocketError.NotConnected Непубличные участники:
Кажется, я ничего не могу сделать, чтобы оправиться от этого исключения. Впоследствии он продолжает выдавать одно и то же исключение при каждом вызове http. Я использую Microsoft.WindowsAzure.MobileServices.MobileServiceClient
для выполнения http-вызовов, а также для синхронизации автономных таблиц. После создания исключения я создал новый экземпляр MobileServiceClient
, но это, похоже, не помогает. Я продолжаю получать ту же ошибку.
Полная трассировка стека исключения, вызванного вызовами https, выглядит следующим образом:
System.Net.Http.HttpRequestException: при отправке произошла ошибка
запрос ---> System.Net.WebException: ошибка: SecureChannelFailure
(Невозможно записать данные в транспортное соединение: сокет не
подключен.) ---> System.IO.IOException: невозможно записать данные в
транспортное соединение: розетка не подключена. --->
System.Net.Sockets.SocketException: сокет не подключен в
System.Net.Sockets.Socket.EndSend (System.IAsyncResult asyncResult)
[0x00013] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/System/net/System/Net/Sockets/Socket.cs:3876
в System.Net.Sockets.NetworkStream.EndWrite (System.IAsyncResult
asyncResult) [0x00057] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/System/net/System/Net/Sockets/NetworkStream.cs:1043
--- Конец внутренней трассировки стека исключений --- в System.Net.Sockets.NetworkStream.EndWrite (System.IAsyncResult
asyncResult) [0x0007c] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/System/net/System/Net/Sockets/NetworkStream.cs:1054
на System.IO.Stream + <> c.b__53_1 (System.IO.Stream
поток, System.IAsyncResult asyncResult) [0x00000] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/io/stream.cs:750
в
System.Threading.Tasks.TaskFactory 1+FromAsyncTrimPromise
1 [TResult, TInstance] .Complete
(TInstance thisRef, System.Func`3 [T1, T2, TResult] endMethod,
System.IAsyncResult asyncResult, System.Boolean
требуется синхронизация) [0x00000] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/external/corert/src/System.Private.CoreLib/src/System/Threading/Tasks/FutureFactory.cs:1292
--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---
в Mono.Net.Security.MobileAuthenticatedStream.InnerWrite
(System.Boolean sync, System.Threading.CancellationToken
cancellationToken) [0x0008b] в/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs:764
в Mono.Net.Security.AsyncProtocolRequest.ProcessOperation
(System.Threading.CancellationToken cancellationToken) [0x0014f] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs:230
в Mono.Net.Security.AsyncProtocolRequest.StartOperation
(System.Threading.CancellationToken cancellationToken) [0x00046] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs:187
в Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication
(System.Boolean запускается синхронно,
Параметры Mono.Net.Security.MonoSslAuthenticationOptions,
System.Threading.CancellationToken cancellationToken) [0x0024c] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs:396
в Mono.Net.Security.MonoTlsStream.CreateStream
(Туннель System.Net.WebConnectionTunnel,
System.Threading.CancellationToken cancellationToken) [0x00126] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/MonoTlsStream.cs:129
в System.Net.WebConnection.CreateStream (System.Net.WebOperation
операция, System.Boolean повторно используется, System.Threading.CancellationToken
cancellationToken) [0x00170] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/System.Net/WebConnection.cs:222 --- Конец трассировки стека внутренних исключений --- 2019-05-17 21: 16: 07.482 pinnacle_wh.iOS [379: 49127] в System.Net.WebConnection.CreateStream
(Операция System.Net.WebOperation, System.Boolean используется повторно,
System.Threading.CancellationToken cancellationToken) [0x00208] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/System.Net/WebConnection.cs:234 в System.Net.WebConnection.InitConnection (System.Net .WebOperation
операция, System.Threading.CancellationToken cancellationToken)
[0x000f7] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/System.Net/WebConnection.cs:263 в System.Net.WebOperation.Run () [0x00052 ] в
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/System.Net/WebOperation.cs:268
в System.Net.WebCompletionSource 1[T].WaitForCompletion () [0x00094]
in <cfeb875a95684ad09f58680b02e4aa2c>:0 at
System.Net.HttpWebRequest.RunWithTimeoutWorker[T]
(System.Threading.Tasks.Task
1 [TResult] workerTask, System.Int32
тайм-аут, прерывание System.Action, System.Func 1[TResult] aborted,
System.Threading.CancellationTokenSource cts) [0x000f8] in
<cfeb875a95684ad09f58680b02e4aa2c>:0 at
System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult
asyncResult) [0x00019] in
/Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/mcs/class/System/System.Net/HttpWebRequest.cs:1200 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]
обещание, System.Boolean требует синхронизации) [0x0000f] в
<91e0283eca55453fa9b161bf2de4edfd>: 0
--- Конец стека трассировки из предыдущего места, где было сгенерировано исключение ---
в System.Net.Http.HttpClientHandler.SendAsync.
(Запрос System.Net.Http.HttpRequestMessage,
System.Threading.CancellationToken cancellationToken) [0x003d3] в
/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:402
--- Конец внутренней трассировки стека исключений --- в System.Net.Http.HttpClientHandler.SendAsync
(Запрос System.Net.Http.HttpRequestMessage,
System.Threading.CancellationToken cancellationToken) [0x0046c] в
/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:406
в
PinnacleWareHouser.Helpers.AuthenticationDelegatingHandler.SendAsync
(Запрос System.Net.Http.HttpRequestMessage,
System.Threading.CancellationToken cancellationToken) [0x0019f] в
/Users/sameer/projects/PinnacleWareHouser/PinnacleWareHouser/Helpers/AuthenticationDelegatingHandler.cs:59
в System.Net.Http.HttpClient.SendAsyncWorker(Запрос System.Net.Http.HttpRequestMessage,
System.Net.Http.HttpCompletionOption completeOption,
System.Threading.CancellationToken cancellationToken) [0x00080] в
/Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:276
в
Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.SendRequestAsync
(System.Net.Http.HttpClient клиент, System.Net.Http.HttpRequestMessage
запрос, System.Boolean sureResponseContent,
System.Threading.CancellationToken cancellationToken) [0x0007a] в
<8cb0059c34954d1285025a31cdcda32d>: 0 в
Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.RequestAsync
(System.Boolean UseHandlers, метод System.Net.Http.HttpMethod,
System.String uriPathAndQuery,
Пользователь Microsoft.WindowsAzure.MobileServices.MobileServiceUser,
Содержимое System.String, System.Boolean sureResponseContent,
System.Collections.Generic.IDictionary 2[TKey,TValue] requestHeaders,
System.Threading.CancellationToken cancellationToken) [0x000f0] in
<8cb0059c34954d1285025a31cdcda32d>:0 at
Microsoft.WindowsAzure.MobileServices.MobileServiceTable.ReadAsync
(System.String uriString,
Microsoft.WindowsAzure.MobileServices.MobileServiceFeatures features)
[0x0009c] in <8cb0059c34954d1285025a31cdcda32d>:0 2019-05-17
21:16:07.483 pinnacle_wh.iOS[379:49127] at
Microsoft.WindowsAzure.MobileServices.MobileServiceTable.ReadAsync
(System.String query,
System.Collections.Generic.IDictionary
2 [TKey, TValue] параметры,
Microsoft.WindowsAzure.MobileServices.MobileServiceFeatures функции)
[0x00136] в <8cb0059c34954d1285025a31cdcda32d>: 0 в
Microsoft.WindowsAzure.MobileServices.Sync.PullAction.ProcessTableAsync
() [0x00134] в <8cb0059c34954d1285025a31cdcda32d>: 0 в
Microsoft.WindowsAzure.MobileServices.Sync.TableAction.ExecuteAsync ()
[0x00251] в <8cb0059c34954d1285025a31cdcda32d>: 0 в
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext.ExecuteSyncAction
(Действие Microsoft.WindowsAzure.MobileServices.Sync.SyncAction)
[0x00090] в <8cb0059c34954d1285025a31cdcda32d>: 0 в
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext.PullAsync
(System.String tableName,
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceTableKind
tableKind, System.String queryId, System.String запрос,
Microsoft.WindowsAzure.MobileServices.MobileServiceRemoteTableOptions
options, System.Collections.Generic.IDictionary 2[TKey,TValue]
parameters, System.Collections.Generic.IEnumerable
1 [T] relatedTables,
Microsoft.WindowsAzure.MobileServices.MobileServiceObjectReader
считыватель, System.Threading.CancellationToken cancellationToken,
Microsoft.WindowsAzure.MobileServices.Sync.PullOptions pullOptions)
[0x00361] в <8cb0059c34954d1285025a31cdcda32d>: 0 в
PinnacleWareHouser.Clients.AzureCloudTableClient`1 [T] .PullAsync ()
[0x0007c] в: 0 в
PinnacleWareHouser.Services.AzureCloudService.PullTableAsync [T] ()
[0x0016a] в: 0