Pregunta

Estoy probando un papel web trivial bajo Azure Compute Emulator y he anulado OnStart(), Run() y OnStop() métodos en mi clase que derivan de RoleEntryPoint.

OnStart() y Run() se llaman pero OnStop() no lo es, presionaré "parar de depuración" en Visual Studio o cerrar la ventana del navegador y el rol será finalizado, pero OnStop() nunca se llama. He revisado - el override La palabra clave está presente en OnStop() definición.

Eso no es muy conveniente, significa que no puedo probar mi OnStop() fuera de una nube en vivo.

¿Puedo hacer una llamada de emulador de cómputo de alguna manera? OnStop() en mi papel?

¿Fue útil?

Solución

Sospecho (pero no estoy seguro), que si abres la interfaz de usuario de la interfaz de cálculo y "detienes" la implementación allí, onstop () debe llamarse.

Otros consejos

Puede usar CSRUN para actualizar la configuración de una implementación en ejecución. Cuando da el comando, la instancia llamará al método OnStop ().

Para actualizar el ServiceConfigure:

  • Abra la carpeta Azure SDK bin a través de la línea de comando
  • Emita el comando csrun.exe /update: {ID de implementación, solo el número}; {ruta del archivo cscfg}

En mi emulador de cómputo sería:

  • csrun.exe /update: 252; "D: user my documents visual studio 2010 proyectos csm csc bin debug serviceConfiguration.cscfg"

Si sale intencionalmente del método run (), creo que se debe llamar a OnStop ().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top