Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Отменить выполнение метода по таймауту
|
|||
|---|---|---|---|
|
#18+
Вопрос больше по чистому шарпу, но топик не нашел. Примем во-внимание, что метод TestConnectMethod запускается по клику на WPF-форме. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Суть такова. Внутри метода TestConnectMethod вызывается метод сервера Authenticate. Если сервер не доступен или с ним еще какие-то проблемы программа виснет на его вызове. Хочется, чтобы через какое-то время (например, через QueryTimeOut мсек) выполнение метода останавливалось. Погуглил, попробовал трюк с Task-om и Wait-om, но задачу отменить нельзя, некуда писать Код: c# 1. 2. потому что выполнение висит на методе Authenticate. Получается, что по таймауту задача так и продолжает "выполняться", т.е. выполнение так и висит на методе Authenticate. Реально ли сделать то, что я хочу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 10:57 |
|
||
|
Отменить выполнение метода по таймауту
|
|||
|---|---|---|---|
|
#18+
monstrilla, если я правильно понял, нужно задать Код: c# 1. а также нужно передавать этот же token в продолжение: Код: c# 1. 2. 3. 4. тогда продолжение не будет вызываться при превышении таймаута. Но таска с вызовом метода Authenticate отработает в любом случае, если в нём самом не предусмотрено прерывание работы по таймауту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 16:08 |
|
||
|
Отменить выполнение метода по таймауту
|
|||
|---|---|---|---|
|
#18+
petalvik, надо чтоб именно таска отвалилась по таймауту. буржуи пишут, что так нельзя сделать в принципе. :( если уже вызвал метод, то заканселить не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 17:29 |
|
||
|
Отменить выполнение метода по таймауту
|
|||
|---|---|---|---|
|
#18+
нормальные сервисы уже имеют таймауты. как я понимаю, выход только 1. создавать поток, в потоке запускать нужный метод. Ожидать завершение поток N секунд и убивать его, если он не завершился. предварительно лучше попытаться завершить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2015, 21:18 |
|
||
|
|

start [/forum/search_topic.php?author=blactom88&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
8ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 1797ms |
| total: | 1962ms |

| 0 / 0 |
