2016-05-31 2 views
1

Je suis confrontée à un problème avec la fonctionnalité de suspension dans Windows 10 application universelle. Pour la première connexion, j'ai une logique avec des requêtes à api afin de charger les informations pour l'utilisateur juste connecté. Pendant ce chargement initial si le bouton "start" est pressé, l'application devrait passer en suspens mais n'atteint pas "OnSuspending". Je suis quelques étapes afin de résoudre le problème. Dans le mini dump généré j'ai trouvé quelque chose d'étrange:Windows 10 application universelle suspendre les blocages avec blocage

EXCEPTION_CODE: (NTSTATUS) 0xc0000194 - {EXCEPTION} Possible deadlock condition. 

STACK_TEXT:  
ntdll!NtWaitForMultipleObjects+0x6 
KERNELBASE!WaitForMultipleObjectsEx+0x112 
twinapi_appcore!Event::WaitWithFreeUnusedLibraries+0x88 
twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationFactory::RunInternal+0x208 
twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationFactory::Run+0x12 
Windows_UI_Xaml!RunInActivationMode+0x58 
Windows_UI_Xaml!DirectUI::FrameworkApplicationFactory::Start+0x32 
0x2d0684 

BUCKET_ID: c0000194_twinapi_appcore!Event::WaitWithFreeUnusedLibraries+88 

Je peux le reproduire uniquement sur l'appareil et non sur l'émulateur.

Répondre

1

Dans les applications Universal Windows 10, vous devez utiliser les tâches en arrière-plan si vous souhaitez effectuer des opérations en arrière-plan. La raison pour laquelle votre application est dans l'impasse est que vous commencez à appeler l'API et à suspendre l'application en même temps. S'il vous plaît essayer d'utiliser ci-dessous tutoriel qui montre comment implémenter les tâches d'arrière-plan (avec une bonne description):

https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task

Vous pouvez également utiliser l'échantillon prêt de mon GitHub:

https://github.com/Daniel-Krzyczkowski/Windows10/tree/master/BackgroundTasksDemo