Код: Выделить всё
Not Flagged > 32164 23 Worker Thread .NET TP Worker System.Net.Sockets.dll!System.Net.Sockets.NetworkStream.ReadAsync
System.Private.CoreLib.dll!System.ThrowHelper.ThrowObjectDisposedException(object instance) Line 403
System.Private.CoreLib.dll!System.ObjectDisposedException.ThrowIf(bool condition, object instance) Line 61
System.Net.Sockets.dll!System.Net.Sockets.NetworkStream.ReadAsync(System.Memory buffer, System.Threading.CancellationToken cancellationToken) Line 406
System.Net.Http.dll!System.Net.Http.HttpConnection.EnsureReadAheadTaskHasStarted.__ReadAheadWithZeroByteReadAsync|40_0()
[Resuming Async Method]
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox.ExecutionContextCallback(object s) Line 288
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 179
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox.MoveNext(System.Threading.Thread threadPoolThread) Line 368
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox.MoveNext() Line 346
System.Net.Sockets.dll!System.Net.Sockets.SocketAsyncEventArgs..cctor.AnonymousMethod__173_0(uint errorCode, uint numBytes, System.Threading.NativeOverlapped* nativeOverlapped) Line 172
System.Private.CoreLib.dll!System.Threading.PortableThreadPool.IOCompletionPoller.Callback.Invoke(System.Threading.PortableThreadPool.IOCompletionPoller.Event e) Line 265
System.Private.CoreLib.dll!System.Threading.ThreadPoolTypedWorkItemQueue.System.Threading.IThreadPoolWorkItem.Execute() Line 1204
System.Private.CoreLib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Line 989
System.Private.CoreLib.dll!System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() Line 102
Добавлено 09 января 2025 г.:
Дополнительная информация (мои извинения)
Ошибка возникла, когда я запускаю проект и позвольте ему работать, не делая ничего больше. Он вызывает задание таймера setinterval из Javascript на домашней странице, вызывает API, чтобы проверить работоспособность базы данных, и повторяется каждые 2 секунды. На вкладке сети браузера Edge я вижу, что задание setinternal выполняет несколько раундов (7 или 8 раундов), пока не появится ошибка, поэтому похоже, что что-то накапливается. Если я нажму F5, чтобы продолжить, все пройдет, и ошибка больше не повторится (пока я не остановлюсь и не начну отладку снова).
Когда произойдет ошибка, и я посмотрю на «Тему » в окнах отладки VS, на ней показаны 2 процесса, каждый со своими потоками (> 20). Ошибка, которую я прилагаю, находится внутри одного из потоков, и все потоки этого процесса не имеют ссылки на код C#, а только на системные библиотеки. Другой процесс показывает код строки C# в одном из потоков, но ошибка происходит не там, что заставляет меня думать, что может быть какой-то фоновый процесс, о котором я не знаю, который каким-то образом нарушает работу программы.
Я проверил свой код, он использует асинхронный режим, но у всех есть ожидания. Класс networkstream или threadpool не объявлен.
Сам проект защищен, поэтому я стараюсь не включать слишком много исходного кода, но понимаю, что это усложняет задачу.
Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-error
Мобильная версия