public void Save()
        {
            var repository = new TaskRepository();
            repository.Save(new ScheduledTask {
                Name = "Test Task",
                EndpointAddress = new Uri("http://localhost/")
            });

            repository.Save(new ScheduledTask {
                Name = "Test Task",
                EndpointAddress = new Uri("http://localhost/"),
                Status = TaskStatus.Faulted
            });

            repository.Save(new ScheduledTask {
                Name = "Test Task 1234",
                EndpointAddress = new Uri("http://localhost/1234")
            });
        }
예제 #2
0
        public void Save()
        {
            var repository = new TaskRepository();

            repository.Save(new ScheduledTask {
                Name            = "Test Task",
                EndpointAddress = new Uri("http://localhost/")
            });

            repository.Save(new ScheduledTask {
                Name            = "Test Task",
                EndpointAddress = new Uri("http://localhost/"),
                Status          = TaskStatus.Faulted
            });

            repository.Save(new ScheduledTask {
                Name            = "Test Task 1234",
                EndpointAddress = new Uri("http://localhost/1234")
            });
        }
예제 #3
0
        public void Execute(ScheduledTask task, ThreadController controller)
        {
            controller.Wait();

            task.Status = TaskStatus.Running;
            _repository.Save(task);

            var client = CreateClient(task);

            controller.Wait();

            try
            {
                client.Open();
                var result = client.Execute();
                client.Close();

                RecordResult(task, result.Result, result.Message);
            }

            catch (TimeoutException te)
            {
                RecordResult(task, TaskResult.RecoverableFault, te.Message, te);
                client.Abort();
            }

            catch (CommunicationException ce)
            {
                RecordResult(task, TaskResult.RecoverableFault, ce.Message, ce);
                client.Abort();
            }

            catch (Exception ex)
            {
                RecordResult(task, TaskResult.FatalError, ex.Message, ex);
                client.Abort();
                throw;
            }
        }