Question

Je teste un rôle Web trivial sous Azure Compute Emulator et j'ai remplacé OnStart(), Run() et OnStop() des méthodes de ma classe qui dérivent de RoleEntryPoint.

OnStart() et Run() sont appelés mais OnStop() n'est pas - je vais appuyer sur "arrêter le débogage" dans Visual Studio ou fermer la fenêtre du navigateur et le rôle sera terminé, mais OnStop() n'est jamais appelé. J'ai vérifié - le override Le mot-clé est présent dans OnStop() définition.

Ce n'est pas très pratique - cela signifie que je ne peux pas tester mon OnStop() en dehors d'un nuage en direct.

Puis-je faire un appel d'émulateur de calcul OnStop() Dans mon rôle?

Était-ce utile?

La solution

Je soupçonne (mais je ne suis pas sûr), que si vous ouvrez l'interface utilisateur de l'émulateur de calcul et "arrête" le déploiement là-bas, onstop () devrait être appelé.

Autres conseils

Vous pouvez utiliser CSRUN pour mettre à jour la configuration d'un déploiement en cours. Lorsque vous donnez la commande, l'instance appellera la méthode onstop ().

Pour mettre à jour le ServiceConfigure:

  • Ouvrez le dossier Azure SDK Bin via la ligne de commande
  • Émettez la commande csrun.exe / mise à jour: {ID de déploiement, juste le numéro}; {chemin du fichier CSCFG}

Dans mon émulateur de calcul, ce serait:

  • csrun.exe / mise à jour: 252; "D: User Mes documents Visual Studio 2010 Projects CSM CSC bin Debug ServiceConfiguration.cscfg"

Si vous sortez intentionnellement de la méthode run (), je crois que onstop () doit être appelé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top