Ok, here’s partial solution to the problem of restarting worker roles within an Azure Computing Cloud.
As suggested by Daniel C. Wang, I’ve tried something that you normally never do in an application – throwing unhandled exceptions.
When you launch the Development Fabric by clicking F5 (with the debugger attached) any unhandled exception is intercepted by the IDE.
However, when running the worker role without any debugger and throwing an unhandled exception will:
- Kill the RdRuntimeLoader.exe
- Put the Worker node into unhealthy status
- If you just let the loader die, then the role will be restarted by the Development Fabric.
So this does the trick on DF (for the time being, till there is a proper solution from Microsoft).