- Регистрация
- 06.11.2018
- Сообщения
- 11 790
- Благодарностей
- 5 694
- Баллы
- 113
Есть вот такая настройка
И есть код на с# который 10 раз с задержкой в 1 с. проверяет наличие определенного элемента на странице. Естественно происходит обращение к вкладкам и элементам на них.
Так вот когда внезапно падает инстанс , каждое обращение к вкладкам и элементам на них зависает и судя по трекеру как раз отрабатывает этот самый тайм аут, у меня на 1 минуту стоит.
Но никаких ошибок не происходит, код C# с чистой совестью переходит на обработку следующего элемента и естественно опять попадает на таймаут команды. и так пока весь цикл не допилит. естественно что цикл выполняется в данном случае не 10с. а минут 10 в лучшем случае.
я уже перед каждым обращением к элементу на странице поставил проверку ( instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull ) , но походу эти флаги выставляются с какой то задержкой и срабатывают на следующем или даже через 1 кубик.
пробовал перед каждой итерацией цикла ставить такой код
но он реагирует только на требование остановить исполнение шаблона, таймаут команды он не ловит.
Вот хотелось бы узнать каким методом можно выловить таймаут выполнения предыдущей команды в коде C# ?
И есть код на с# который 10 раз с задержкой в 1 с. проверяет наличие определенного элемента на странице. Естественно происходит обращение к вкладкам и элементам на них.
Так вот когда внезапно падает инстанс , каждое обращение к вкладкам и элементам на них зависает и судя по трекеру как раз отрабатывает этот самый тайм аут, у меня на 1 минуту стоит.
Но никаких ошибок не происходит, код C# с чистой совестью переходит на обработку следующего элемента и естественно опять попадает на таймаут команды. и так пока весь цикл не допилит. естественно что цикл выполняется в данном случае не 10с. а минут 10 в лучшем случае.
я уже перед каждым обращением к элементу на странице поставил проверку ( instance.ActiveTab.IsVoid || instance.ActiveTab.IsNull ) , но походу эти флаги выставляются с какой то задержкой и срабатывают на следующем или даже через 1 кубик.
пробовал перед каждой итерацией цикла ставить такой код
C#:
if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) throw new Exception();
if(Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode) throw new Exception();
Вот хотелось бы узнать каким методом можно выловить таймаут выполнения предыдущей команды в коде C# ?