Я испытываю затруднения при получении клиент-серверной реализации работы Quartz.NET.
У меня есть SQL Server на ServerA, Кварц выполнения сервера как услуга (ServerB) и сервер, который размещает приложение ASP.NET (ServerC).
Я следовал всем учебным руководствам и копался в коде изрядное количество, но я не вижу то, что я делаю неправильно. Сервер определенно слушает, и я вижу, что порт открыт от ServerC. Никакие брандмауэры не включены.
ServerB, который выполняет сервис, включенный в пакет загрузки (Кварц. Сервер. Сервис), имеет следующие настройки файла конфигурации:
Приложение ASP.NET имеет следующую конфигурацию:
Я попробовал многочисленные вещи. Иногда я получаю ошибку, что планировщик уже существует вместо того в заголовке вопроса.
Я считал в другом месте, что из-за поточной обработки проблем должен создать планировщик в одиночном элементе, который я сделал:
private static readonly ISchedulerFactory _schedulerFactory;
private static readonly IScheduler _scheduler;
static JobScheduleService() {
_schedulerFactory = new StdSchedulerFactory();
_scheduler = _schedulerFactory.GetScheduler();
}
public static IScheduler GetScheduler() {
return _scheduler;
}
Что я пропустил? TIA
Если я открываю поле telnet на веб-сервере и подключении к кварцевому серверу затем, сервис определенно отвечает. Если я ввожу несколько символов, я получаю ошибку от Кварца.
Это помогает? Т.е. это не проблема возможности соединения?
Оказывается, сообщение об ошибке немного вводит в заблуждение. Ошибка была вовсе не в общении с сервером. Проблема заключалась в отсутствующем DLL-файле, который не был скопирован в процессе развертывания. Основная ошибка возникала из-за того, что планировщики не могли найти DLL.
Попробуйте НЕ устанавливать свойства quartz.threadpool.xxxxxx.