|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Как реализовать логику в таком случае: Есть (десктопное ASP.NET Core) приложение, по кнопке на контроллере запускается длинное действие в Thread. При этом юзеру доступен UI и он жмет на пункт меню - создание (перезагрузка) вью. Начинается создание объекта контроллера и т.д все по-новой. Логично было бы дождаться завершения потока и потом уже разрешить рефреш. Или же рисовать вью с указанием состояния типа "Выполняется".. Как такое реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 11:26 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг ХупинЛогично было бы дождаться завершения потока и потом уже разрешить рефреш. Или же рисовать вью с указанием состояния типа "Выполняется".. А в чём разница между дождаться и рисованием "Выполняется"? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 11:30 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Дмитрий МухРолг ХупинЛогично было бы дождаться завершения потока и потом уже разрешить рефреш. Или же рисовать вью с указанием состояния типа "Выполняется".. А в чём разница между дождаться и рисованием "Выполняется"? это одно и то же, а вот если в процессе нажать перезагрузку вью - тогда идет карусель в контроллере недоделанный поток, пересоздание и т.д. Вот и хотелось бы не пересоздавать всё, не делать разруху, а дать понять юзеру, что пака не надо кликать, идет процесс ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 11:47 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг Хупиндать понять юзеру, что пака не надо кликать, идет процесс В общем случае - бесполезно. Все равно кликнет кто нибудь. Это надо программно решать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 12:01 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг ХупинДмитрий Мухпропущено... А в чём разница между дождаться и рисованием "Выполняется"? это одно и то же, а вот если в процессе нажать перезагрузку вью - тогда идет карусель в контроллере недоделанный поток, пересоздание и т.д. Вот и хотелось бы не пересоздавать всё, не делать разруху, а дать понять юзеру, что пака не надо кликать, идет процесс а не разруха - это как? ставить потоки в очередь, или если задача уже выполняется, то просто ничего не делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 13:15 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг Хупинесли в процессе нажать перезагрузку вью - тогда идет карусель в контроллере И что такое перезагрузка вью? Почему она какие-то длительные операции инициирует? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 13:18 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
skyANAРолг Хупинесли в процессе нажать перезагрузку вью - тогда идет карусель в контроллере И что такое перезагрузка вью? Почему она какие-то длительные операции инициирует? клик на меню и вызов акции окнтроллера, в нем старутет некий процесс Код: html 1.
Процесс стартовал и если еще раз кликнуть на пункт меню - снова вызов той же акции ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 13:56 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Собственно, сам процесс стартует по кнопке на этом вью, но при нажатии на пункт меню - пересоздается класс контроллера, инициализируются его переменные и т.д., и даже если процесс еще работает - не ясно как запретить юзеру запускать его еще и еще раз.. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 14:02 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг Хупин, ИМХО запрещать ничего не надо, просто нужно нормальный интерфейс сделать со Старт, Стоп, статус: Выполняется ну и собственно сохранять где-то переходы состояний процесса, чтобы можно было их отслеживать и если процесс уже выполняется, то значит ничего пока не нужно запускать что за процесс? база есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 18:12 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
skyANAРолг Хупин, ИМХО запрещать ничего не надо, просто нужно нормальный интерфейс сделать со Старт, Стоп, статус: Выполняется ну и собственно сохранять где-то переходы состояний процесса, чтобы можно было их отслеживать и если процесс уже выполняется, то значит ничего пока не нужно запускать что за процесс? база есть? да, работа с базой, мого скриптов выполняется. Можно сделать статик перменные в контроллере, состояние - прогресс, завершен, готов, но если юзер жмет меню и вью перезагружается, контроллер пересоздается, то все они могут накрыться ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 18:56 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
состояния запоминай на уровне сервиса, чтобы контроллер знал, что делать ничего не надо , если уже задание выполняется ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 19:32 |
|
Перезагрузка вью и длинная акция контроллера
|
|||
---|---|---|---|
#18+
Ролг ХупинskyANAРолг Хупин, ИМХО запрещать ничего не надо, просто нужно нормальный интерфейс сделать со Старт, Стоп, статус: Выполняется ну и собственно сохранять где-то переходы состояний процесса, чтобы можно было их отслеживать и если процесс уже выполняется, то значит ничего пока не нужно запускать что за процесс? база есть? да, работа с базой, мого скриптов выполняется. Можно сделать статик перменные в контроллере, состояние - прогресс, завершен, готов, но если юзер жмет меню и вью перезагружается, контроллер пересоздается, то все они могут накрыться и каким же образом накроются статик переменные в контроллере? но вообще их там делать не надо... раз уж есть база, то храните состояние в ней ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2019, 01:22 |
|
|
start [/forum/topic.php?fid=18&fpage=13&tid=1354936]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 168ms |
0 / 0 |