public ServiceProcess ExecuteAsync(object arguments) { ServiceProcess newProcess = new ServiceProcess(); ServiceProcessHelper storedProcess = new ServiceProcessHelper(newProcess); OperationContext.Current.InstanceContext.Extensions.Add(storedProcess); ExecuteData executeData = new ExecuteData { Process = storedProcess.Process, Arguments = arguments }; ThreadPool.QueueUserWorkItem(WorkerThread, executeData); return newProcess; }
public override void Process(ServiceProcess process, object arguments) { DecommissionParameters parameters = (DecommissionParameters)arguments; using (var coreService = Client.GetCoreService()) { process.SetCompletePercentage(25); try { coreService.DecommissionPublicationTarget(parameters.ItemUri); process.Complete(); } catch (Exception e) { process.SetStatus(e.Message); process.Failed = true; } } }
public ServiceProcessHelper(ServiceProcess process) { Process = process; }
public abstract void Process(ServiceProcess process, object arguments);