При использовании планировщика NServiceBus я не увенчался успехом в определении делегата. Я использовал документацию по ссылке ниже, чтобы настроить класс EndpointScheduler.NServiceBus 5.2.14 - Планировщик не может вызвать делегат
Создана соответствующая очередь тайм-аутов, и сообщение успешно входит в очередь. Во время выполнения ошибок не возникает ошибок, но планировщик не запускает делегата. В настоящее время я использую NServiceBus 5.2.14, аналогичный тест работает с использованием NServiceBus 3.2.7. Любые идеи, почему Планировщик не вызывает делегата?
http://docs.particular.net/nservicebus/scheduling/
public class EndpointScheduler : IWantToRunWhenBusStartsAndStops, ILoggable
{
public EndpointScheduler(Schedule schedule)
{
this.schedule = schedule;
}
public void Start()
{
schedule.Every(
TimeSpan.FromMinutes(1),
"Test",
() =>
{
Debug.WriteLine("I'm testing the scheduler");
}
);
}
public void Stop()
{
}
}
Ну, к сожалению, это просто работает на моей машине ™. Debug.WriteLine не выводится на консоль, но появляется в окне вывода Visual Studio. Console.WriteLine работает на консоли. Я также вижу сообщения INFO, зарегистрированные до и после задачи, и может нанести им точку останова. Я предполагаю, что на вашем примере отсутствует частный 'sched' var, иначе он не будет компилироваться. Что такое ILoggable, так как это не от NSB. Может ли это иметь к этому какое-нибудь отношение? В противном случае покажите свой код конфигурации конечной точки. Уверены, что функции TimeoutManager и TimeoutManagerBasedDeferral включены? –
@DavidBoike Это было полностью вызвано мной. Моя EndpointConfig имела эту конфигурацию DisableFeature(); Снятие исправлено с моей ошибкой. Спасибо, что посмотрели на это! –
Pietro