Приложение Android теперь зависает с ObjectDisposeException или IOExceptionAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Приложение Android теперь зависает с ObjectDisposeException или IOException

Сообщение Anonymous »

Я написал код для мобильного приложения Xamarin Forms и веб-сервиса, который начал давать сбой при загрузке исходного действия. (Все это происходит в Visual Studio, при этом веб-сервис и проекты MyAppName.Android заданы как запускаемые проекты.) Visual Studio обновлена, а приложение Android предназначено для Android 11.
Мобильное приложение отображает белый экран и зависает при загрузке первого действия. Как ни странно, этот же код отлично работает на компьютере другого разработчика.
Эти два исключения возникают примерно одинаково часто.
Этот код выдает файл: NetworkStream.cs , заблокированный файл.

Код: Выделить всё

System.ObjectDisposedException: 'Cannot access a disposed object. Object name:  System.Net.Sockets.NetworkStream'.'
Этот файл Sockets.cs — еще один заблокированный файл

Код: Выделить всё

System.IO.IOException: "Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request."
И внутреннее исключение для этого:

Код: Выделить всё

SocketException: The I/O operation has been aborted because of either a thread exit or an application request.
Начало казалось, что точки останова влияют на мои результаты, поэтому я использую Debugger.Log() для отслеживания кода. LoginPage.xaml.cs — это первое действие. В верхней части конструктора у меня есть это:

Код: Выделить всё

Debugger.Log(0, "LoginPage", "pds Before InitializeComponent");
InitializeComponent();
Debugger.Log(0, "LoginPage", "pds After InitializeComponent");
Первая строка отладчика нормально записывается в окно вывода. Строка после InitializeComponent почти никогда не записывается. Даже если эта вторая строка отладчика будет записана. Я по-прежнему получаю те же результаты.
В xaml для этого есть это вверху: И конструктор LoginViewModel записывает в него все сообщения отладчика. Но после запуска этого конструктора мобильное приложение никогда не покидает отображаемый белый экран, и примерно через 50 секунд выдается одно из исключений.
Перед тем, как исключение будет выдано, Visual Studio всегда пишет что-то вроде этого в окно вывода.

Код: Выделить всё

The thread 3 has exited with code 0 (0x0).
Но судя по тому, что я прочитал, эти выводы можно игнорировать. Тем не менее мне кажется, что Visual Studio делает что-то, что удаляет объект или разрывает соединение. Идеи?

Подробнее здесь: https://stackoverflow.com/questions/785 ... oexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»