2017-09-03 2 views
0

Mon application Windows universelle écrite en JS/TypeScript utilise (via .winmd) une ancienne version V2 de Microsoft.IdentityModel.Clients.ActiveDirectory. En essayant de migrer vers la dernière version V2 (Microsoft.IdentityModel.Clients.ActiveDirectory 2.29.0) j'ai rencontré un obstacle dû à un changement (rupture?) Dans les dernières versions (j'ai essayé 2,28 avec le même résultat) - une absence de constructeurs pour la classe AuthenticationContext. Au lieu du constructeur, je vois une méthode statique createAsync avec quelques surcharges qui ressemblent à un équivalent logique de ces anciens constructeurs.
Maintenant, je suis obligé d'utiliser le modèle async (promises) pour créer une instance de AuthenticationContext qui ne correspond pas à ma conception d'application où j'ai d'abord créé une instance du contexte une seule fois, stocké dans une variable de classe, puis appelé le méthode du contexte acquireTokenAsync et une propriété tokenCache pour lire/effacer le cache plus tard qui semble ne pas facile à réaliser avec le modèle asynchrone vu dans les dernières versions V2.AuthenticationContext.createAsync vs Constructeur AuthenticationContext dans l'application UWP JS

Questions:

  1. Quelle était la raison d'enlever le constructeur?
  2. Existe-t-il un moyen agréable de créer une instance de AuthenticationContext et de l'appeler ultérieurement à partir de l'autre, par rapport à celui qui a créé l'instance, ?

Répondre

0

La seule façon de gérer le crépitement asynchrone pour la UWP via JavaScript utilise la promesse objet, alors la fonction (voir Asynchronous programming).

Il n'y a pas de bonne façon de gérer ce scénario, car JavaScript s'exécute sur le thread unique.