Как Вы проверяете, что запланированная задача существует на сервере с помощью C#?

ОБНОВЛЕНИЕ: GCJ мертв. Это было , официально удалил из проекта GCC в 2016. Даже перед этим, от этого практически отказались в течение семи лет, и в любом случае это никогда не не было достаточно завершено для служения в качестве жизнеспособной альтернативной реализации Java.

Идут, находят другой Java компилятором AOT.

GCJ: Компилятор GNU для Java может скомпилировать исходный код Java в собственный машинный код, включая исполняемые файлы Windows.

, Хотя не все в Java поддерживается под GCJ, особенно компоненты графического интерфейса пользователя (см. , Какой API Java поддерживается? Насколько завершенный поддержка? вопрос от FAQ). Я не использовал GCJ очень, но от ограниченного тестирования я сделал с консольными приложениями, это кажется прекрасным.

Одна оборотная сторона использования GCJ для создания автономного исполняемого файла - то, что размер получающегося EXE может быть довольно большим. Одно время я скомпилировал тривиальное консольное приложение в GCJ и результате, было исполняемым файлом приблизительно 1 МБ. (Могут быть пути вокруг этого, что я не знаю. Другая опция была бы исполняемыми программами сжатия.)

С точки зрения установщиков с открытым исходным кодом, Система Установки Nullsoft Scriptable является scriptable установщиком. Если Вам любопытно, существует , пользователь внес примеры о том, как обнаружить присутствие JRE и установить его автоматически, если необходимый JRE не установлен. (Только для сообщения я не использовал NSIS прежде.)

для получения дополнительной информации об использовании NSIS для установки JAVA-приложений, смотрите на мой ответ для вопроса" , Что лучший способ состоит в том, чтобы распределить JAVA-приложения? "

5
задан Stephen Kennedy 11 May 2019 в 17:34
поделиться

2 ответа

Существует API планировщика задач , который можно использовать для доступа к информации о задачах. (Это com-библиотека, но вы можете вызывать ее из C # с помощью пинвок)

Существует статья о codeproject , которая предоставляет оболочку .net для API.

[Существует также команда schtasks - подробнее ]

6
ответ дан 13 December 2019 в 22:12
поделиться

кстати, IRT мое принятое решение, вот код оболочки CodeProject (см. http://www.codeproject.com/KB/cs/tsnewlib.aspx ) необходим чтобы убедиться, что запланированная задача существует

, я использую это в тесте интеграции, поэтому Assert - это NUnit ..

public static void VerifyTask(string server, string scheduledTaskToFind)
{
     ScheduledTasks st = new ScheduledTasks(server);

     string[] taskNames = st.GetTaskNames();
     List<string> jobs = new List<string>(taskNames);

     Assert.IsTrue(jobs.Contains(scheduledTaskToFind), "unable to find " + scheduledTaskToFind);

     st.Dispose();
}

, чтобы проверить, включена ли она, вы можете сделать следующее:

Task task = st.OpenTask(scheduledTaskToFind);
Assert.IsTrue(task.Status != TaskStatus.Disabled);
1
ответ дан 13 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: