Случайный .NET MAUI Comexception NavigationFailed был невзвешен на навигацииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Случайный .NET MAUI Comexception NavigationFailed был невзвешен на навигации

Сообщение Anonymous »

Мы испытываем случайные сбои в приложении Winui/Windows .net Maui (.net 8), которое, по -видимому, происходит случайным образом при навигации обратно на главную страницу. Его трудно воспроизвести, так как это происходит только редко. Когда я затем перемещаюсь взад и вперед между подлизой и главной страницей, она сбивается со следующей Stacktrace: < /p>

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

2025-06-02 11:12:04.9450 FATAL  App:OnUnhandledException Unhandled Exception: 'System.Runtime.InteropServices.COMException (0x80004005)
at WinRT.ExceptionHelpers.g__Throw|38_0(Int32 hr)
at ABI.Microsoft.UI.Xaml.Controls.IContentPresenterMethods.set_Content(IObjectReference _obj, Object value)
at Microsoft.Maui.Platform.StackNavigationManager.OnNavigated(Object sender, NavigationEventArgs e)
at ABI.Microsoft.UI.Xaml.Navigation.NavigatedEventHandler.Do_Abi_Invoke(IntPtr thisPtr, IntPtr sender, IntPtr e)', 'Microsoft.UI.Xaml.Controls.Frame.NavigationFailed was unhandled.'
2025-06-02 11:12:05.0637 FATAL  App:OnUnhandledException Unhandled Exception: 'System.Runtime.InteropServices.COMException (0x80004005)
at WinRT.ExceptionHelpers.g__Throw|38_0(Int32 hr)
at ABI.Microsoft.UI.Xaml.Controls.IFrameMethods.GoBack(IObjectReference _obj, NavigationTransitionInfo transitionInfoOverride)
at Microsoft.Maui.CommandMapper.InvokeCore(String key, IElementHandler viewHandler, IElement virtualView, Object args)
at Microsoft.Maui.Handlers.ElementHandler.Invoke(String command, Object args)
at Microsoft.Maui.Controls.ShellSection.OnPopAsync(Boolean animated)
at Microsoft.Maui.Controls.ShellSection.GoToAsync(ShellNavigationRequest request, ShellRouteParameters queryData, IServiceProvider services, Nullable`1 animate, Boolean isRelativePopping)
at Microsoft.Maui.Dispatching.DispatcherExtensions.c__DisplayClass3_0.d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.Maui.Dispatching.DispatcherExtensions.c__DisplayClass2_0`1.d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.Maui.Controls.ShellNavigationManager.GoToAsync(ShellNavigationParameters shellNavigationParameters, ShellNavigationRequest navigationRequest)
at WIR.MauiNavigationService.NavigateInternalAsync(WirPage page, Boolean animate)
at WIR.MauiNavigationService.NavigateAsync(WirPage page, Boolean animate)
at WIR.Presentation.ViewModels.SubpageViewModel.c__DisplayClass52_0.d.MoveNext()
--- End of stack trace from previous location ---
at WIR.Presentation.ViewModels.SubpageViewModel.HandleEditResult(EditResult result, Func`2 okFunc)
at WIR.Presentation.ViewModels.SubpageViewModel.OnApproveClickedAsync()
at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask)
at System.Threading.Tasks.Task.c.b__128_0(Object state)
at Microsoft.UI.Dispatching.DispatcherQueueSynchronizationContext.c__DisplayClass2_0.
b__0()', 'System.Runtime.InteropServices.COMException'
< /code>
В настоящее время мы используем следующий код для навигации между страницами: < /p>
await Shell.Current.GoToAsync("Subpage", animate);
< /code>
и следующее для основной страницы < /p>
await Shell.Current.GoToAsync("//MainPage", animate);
< /code>
Вызов также отправляется в поток пользовательского интерфейса при необходимости: < /p>
if (this.dispatcher.IsDispatchRequired)
{
await this.dispatcher.DispatchAsync(() => this.NavigateInternalAsync(page, animate));
}
может кто -нибудь предложить, как мы могли бы решить эту проблему, или, по крайней мере, воспроизвести его более надежно?


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

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

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

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

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

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

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