edp.kharind Ответов: 1

Как удалить задание из C# кода


Я создал задачу расписания в Windows 2008 Server, используя приведенный ниже код C#.Он работает нормально, но когда я удаляю задачу из кода C#.Он показывает сообщение об ошибке как - Доступ запрещен. (Исключение из HRESULT : 0X80070005 (E_ACCESSDENIED) "

Пожалуйста, проверьте приведенный ниже код и посоветуйте, как это сделать..

Создание задачи :- (она отлично работает)

private void CreateTask(string StrTaskName,string  StrDate)
     {
         using (TaskService ts = new TaskService())
         {
             TaskDefinition td = ts.NewTask();
             td.RegistrationInfo.Description = "SMS Alert System";
             td.Principal.LogonType = TaskLogonType.InteractiveToken;

             TimeTrigger dt = (TimeTrigger)td.Triggers.Add(new TimeTrigger());
             dt.StartBoundary = Convert.ToDateTime(StrDate);

             string doubleQuotedPath = string.Format(@"""{0}""", StrTaskName);
             td.Actions.Add(new ExecAction(@"D:\Alert\SMSAlertSystem.exe", doubleQuotedPath, null));
             ts.RootFolder.RegisterTaskDefinition(StrTaskName, td);


         }
     }



Удаление задачи :- (не работает)

using (TaskService ts = new TaskService())
{
    ts.RootFolder.DeleteTask(StrtMessage.Trim());
}


Что я уже пробовал:

Я пробовал выше код,но не решил...

F-ES Sitecore

ты хотя бы погуглил?

1 Ответов

Рейтинг:
0

OriginalGriff

Google-ваш друг: будьте любезны и часто навещайте его. Он может ответить на вопросы гораздо быстрее, чем разместить их здесь...

Очень быстрый поиск нашел это на MSDN: Папка задач.DeleteTask всегда возвращает отказ в доступе[^] Который объясняет, что задачи могут быть удалены только администраторами, и дает код повышения прав. Ваш пользователь должен будет согласиться с запросом ОАЭ, чтобы удалить его.

В будущем, пожалуйста, постарайтесь провести хотя бы фундаментальные исследования самостоятельно, а не тратить впустую свое или наше время.