public void StartWithWorkerId(string workerId) { var managerCoreServicesClient = new ManagerCoreServicesClient(); var managerCoreServicesProxy = managerCoreServicesClient.ManagerCoreServicesProxy; ManagerCoreServicesProxy = managerCoreServicesProxy; WorkAssignment = ManagerCoreServicesProxy.GetWorkAssignment(workerId); Init(); State = WorkerState.Starting; try { BeginWork(); } catch (Exception ex) { ProblemReport problemReport = new ProblemReport(WorkerId, WorkerStage.BeginWork, ex); problemReport.SendProblemReport(ReportPipe); ex.Trace().Swallow(); Tracer.Debug("WorkerBase: Worker {0} is cleaning and quitting now", WorkerId); CleanAndQuit(); return; } State = WorkerState.Started; RunWorker(); CleanAndQuit(); }
internal ManagerCoreServicesHost(IManagerCoreServices managerCoreServices) { _serviceHost = new ServiceHost(managerCoreServices, _baseAddress); // Enable metadata publishing. var smb = new ServiceMetadataBehavior { MetadataExporter = { PolicyVersion = PolicyVersion.Policy15 } }; _serviceHost.Description.Behaviors.Add(smb); // DEBUGGING ServiceDebugBehavior debug = _serviceHost.Description.Behaviors.Find <ServiceDebugBehavior>(); // if not found - add behavior with setting turned on if (debug == null) { _serviceHost.Description.Behaviors.Add(new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true }); } else { // make sure setting is turned ON if (!debug.IncludeExceptionDetailInFaults) { debug.IncludeExceptionDetailInFaults = true; } } // Usage BasicHttpBinding can be used if this is not going to be on the local machine. NetNamedPipeBinding binding = new NetNamedPipeBinding { CloseTimeout = new TimeSpan(0, 3, 0), OpenTimeout = new TimeSpan(0, 3, 0), ReceiveTimeout = new TimeSpan(2, 0, 10, 0), SendTimeout = new TimeSpan(0, 3, 0), ReaderQuotas = { MaxStringContentLength = 2147483647, MaxArrayLength = 2147483647, MaxDepth = 2147483647, MaxBytesPerRead = 2147483647, MaxNameTableCharCount = 2147483647 }, MaxReceivedMessageSize = 2147483647, }; // That's two days and 10 minutes _serviceHost.AddServiceEndpoint(typeof(IManagerCoreServices), binding, "ManagerCoreServices"); _serviceHost.Open(); Tracer.Info("ManagerCoreServices is ready at {0}", _baseAddress); }
internal ManagerCoreServicesHost(IManagerCoreServices managerCoreServices) { _serviceHost = new ServiceHost(managerCoreServices, _baseAddress); // Enable metadata publishing. var smb = new ServiceMetadataBehavior { MetadataExporter = { PolicyVersion = PolicyVersion.Policy15 } }; _serviceHost.Description.Behaviors.Add(smb); // DEBUGGING ServiceDebugBehavior debug = _serviceHost.Description.Behaviors.Find<ServiceDebugBehavior>(); // if not found - add behavior with setting turned on if (debug == null) { _serviceHost.Description.Behaviors.Add(new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true }); } else { // make sure setting is turned ON if (!debug.IncludeExceptionDetailInFaults) { debug.IncludeExceptionDetailInFaults = true; } } // Usage BasicHttpBinding can be used if this is not going to be on the local machine. NetNamedPipeBinding binding = new NetNamedPipeBinding { CloseTimeout = new TimeSpan(0, 3, 0), OpenTimeout = new TimeSpan(0, 3, 0), ReceiveTimeout = new TimeSpan(2, 0, 10, 0), SendTimeout = new TimeSpan(0, 3, 0), ReaderQuotas = { MaxStringContentLength = 2147483647, MaxArrayLength = 2147483647, MaxDepth = 2147483647, MaxBytesPerRead = 2147483647, MaxNameTableCharCount = 2147483647 }, MaxReceivedMessageSize = 2147483647, }; // That's two days and 10 minutes _serviceHost.AddServiceEndpoint(typeof(IManagerCoreServices), binding, "ManagerCoreServices"); _serviceHost.Open(); Tracer.Info("ManagerCoreServices is ready at {0}", _baseAddress); }