Ejemplo n.º 1
0
 private void RunRole(Type workerRoleType)
 {
     _workerRole = (RoleEntryPoint)Activator.CreateInstance(workerRoleType);
     if (!_workerRole.OnStart())
     {
         Trace.TraceError("Role failed to start for '{0}'", workerRoleType);
         return;
     }
     try
     {
         if (workerRoleType.Name.Contains("WebRole"))
         {
             Trace.TraceInformation("HostRunner: Will not call Run() on WebRole, waiting for thread control.");
             try
             {
                 Task.Delay(-1, LightBlueThreadControl.CancellationToken).Wait();
             }
             catch (AggregateException)
             {
                 Trace.TraceError("HostRunner: Cancellation requested, terminating.");
             }
             catch (OperationCanceledException)
             {
                 Trace.TraceError("HostRunner: Cancellation requested, terminating.");
             }
         }
         else
         {
             _workerRole.Run();
         }
     }
     finally
     {
         _workerRole.OnStop();
     }
 }
Ejemplo n.º 2
0
 public void Stop()
 {
     _role.OnStop();
     Trace.TraceInformation("Worker host service restarting");
 }
Ejemplo n.º 3
0
 private void RunRole(Type workerRoleType)
 {
     _workerRole = (RoleEntryPoint)Activator.CreateInstance(workerRoleType);
     if (!_workerRole.OnStart())
     {
         Trace.TraceError("Role failed to start for '{0}'", workerRoleType);
         return;
     }
     try
     {
         if (workerRoleType.Name.Contains("WebRole"))
         {
             Trace.TraceInformation("HostRunner: Will not call Run() on WebRole, waiting for thread control.");
             try
             {
                 Task.Delay(-1, LightBlueThreadControl.CancellationToken).Wait();
             }
             catch (AggregateException)
             {
                 Trace.TraceError("HostRunner: Cancellation requested, terminating.");
             }
             catch (OperationCanceledException)
             {
                 Trace.TraceError("HostRunner: Cancellation requested, terminating.");
             }
         }
         else
         {
             _workerRole.Run();
         }
     }
     finally
     {
         _workerRole.OnStop();
     }
 }