Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть простая станица запускающая один метода. Метод может выполнятся больше часа. После работы требуется отобразить полученный результат. Подскажите как правильней организовать работу. Код: plaintext 1. 2. Код: c# 1. 2. 3. 4. 5. 6. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 18:52 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0...Метод может выполнятся больше часа. После работы требуется отобразить полученный результат. Подскажите как правильней организовать работу... . Есть два варианта: 1. Оптимизировать метод, или купить современный сервер. 2. Найти другую работу. Это - не шутка, и не поймите, как оскорбление. Просто нифига не понятно, что у вас за тормоза. Много записей в базе? Больше нескольких миллиардов? Тогда - оптимизируйте запросы к ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 20:27 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ПС. А что такое "асинхронный метод"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 20:30 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
вы хотите нажать кнопку и после этого увидеть прогрессбар с % выполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 20:32 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ShSergeChe0...Метод может выполнятся больше часа. После работы требуется отобразить полученный результат. Подскажите как правильней организовать работу... . Есть два варианта: 1. Оптимизировать метод, или купить современный сервер. 2. Найти другую работу. Это - не шутка, и не поймите, как оскорбление. Просто нифига не понятно, что у вас за тормоза. Много записей в базе? Больше нескольких миллиардов? Тогда - оптимизируйте запросы к ней. .. это может быть обработка 1с ... цеплять ее на вебформу, конечно, не совсем (точнее совсем не) верно, но тайминг вполне может быть именно таким ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 20:34 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
carrotik.. это может быть обработка 1с ... цеплять ее на вебформу, конечно, не совсем (точнее совсем не) верно, но тайминг вполне может быть именно таким ... А что с 1с? Там как раз проблем-то и нету. Обычно, там очень немного данных. Опишите проблему подробнее. А то у вас получается, типа: нажимаю кнопку - плохо работает, а я хочу, чтобы - хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 20:47 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ShSerge,Спасибо за советы о смене работы:). Метод будет выполнятся долго в любом случае. Метод передает и загружает большое количество данных по интернет каналу. Тут все упирается в ширину канала и пинг сервера, а не в производительность сервера. Собственно ни одного совета по организации работы страницы в асинхронный режим вы не написали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:28 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
авторвы хотите нажать кнопку и после этого увидеть прогрессбар с % выполнения?нет, освободить занимаемый поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:31 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0, Если при таком времени работы в корне не верно вешать на страницу алгоритм, то подскажите вариант более верный со связью со страницей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:33 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0...Метод передает и загружает большое количество данных по интернет каналу. Тут все упирается в ширину канала и пинг сервера, а не в производительность сервера. Собственно ни одного совета по организации работы страницы в асинхронный режим вы не написали. Я не знаю что такое "асинхронный режим". Забудьте. Если вам чего-то скачать нужно - заведите планировщик на 2 часа ночи, и скачивайте. Всего-навсего надо написать программулину под командную строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:49 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0, вариант в данном случае для вас один: опрос сервера со стороны страницы скриптом. периодический опрос через заданный интервал, типа «готова уже, не?», в ответ будет получать готово или нет и степень готовности, выраженную в процентах. когда будет готово, что делать дальше, зависит от ситуации: перезагрузить страницу или сделать редирект на другую. есть у вас какие-нибудь сложности в реализации данного механизма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:49 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0, кстати, ваш тяжелый метод может завершиться раньше, чем закончит свою работу, если не будет веб-активности. так что скрипт с опросом в любом случае нужен. в ином случае, тяжелый воркер нужно будет реализовать за пределами ASP.NET, допустим в качестве сервиса, доступного через Service Bus или через другой механизм, их не так мало. тогда запущенная длительная работа будет выполнена в любом случае, не зависимо от цикла жизнедеятельности ASP.NET приложения. что конечно же правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 21:54 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
hVosttChe0, кстати, ваш тяжелый метод может завершиться раньше, чем закончит свою работу, если не будет веб-активности. так что скрипт с опросом в любом случае нужен. в ином случае, тяжелый воркер нужно будет реализовать за пределами ASP.NET, допустим в качестве сервиса, доступного через Service Bus или через другой механизм, их не так мало. тогда запущенная длительная работа будет выполнена в любом случае, не зависимо от цикла жизнедеятельности ASP.NET приложения. что конечно же правильнее.да, так лучше. ASP.NET иногда перезапускается по разным причинам. длительному процессу можно назначить что-то типа id, поместить этот id в куки, тогда со страницы можно будет делать периодический аяксовый запрос о состоянии процесса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 22:00 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ShSerge, асинхронно, по-видимому имелось в виду что-то типа такого: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 22:01 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
hVostt....асинхронно, по-видимому имелось в виду что-то типа такого... Может быть. А толку с этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 22:07 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ShSerge, освободим поток и не получим таймаут на странице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 22:10 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Это жара разжижает мозги? или нашествие? авторМетод может выполнятся больше часа и что? сидеть потеть 3-12 часов(выполнятся больше часа) наблюдая как крутится пиздю..а а впрочем можно запустить порно, ( кто быстрее кончит: сервер или юзер..)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2013, 22:45 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
авторасинхронно, по-видимому имелось в виду что-то типа такого: // было // string result= Start(link);//тяжелый метод // стало var task = System.Threading.Tasks.Task.Factory.StartNew(() => { var result = Start(link) ; // do something with result }); // получим авейтер var aw = task.GetAwaiter(); // зададим операцию, которая выполнится по завершению aw.OnCompleted(() => { ... }); да именно в отдельном потоке, простите за неверную терминологию. авторв ином случае, тяжелый воркер нужно будет реализовать за пределами ASP.NET, допустим в качестве сервиса, доступного через Service Bus или через другой механизм, их не так мало а можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 00:22 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0, пишите свой сервис, как это сделать на русском написано здесь: http://habrahabr.ru/post/102826/ ну а здесь родная дока http://msdn.microsoft.com/en-us/library/zt39148a устанавливаете его в систему на сервере, там тоже написано как это сделать. далее, со стороны веб-приложения, запускаете сервис когда надо: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. еще в конфиге требуется добавить следующую строчку: Код: xml 1. где userName и password — данные пользователя сервера, которому даны разрешения запускать тот самый сервис. сервис обращается к веб-приложению через WebClient, допустим, получает нужные данные и точно также обращается, когда надо что-то передать. хотя достаточно простых сигналов, желательно работать с базой данных и хранить все там. еще можно взаимодействовать через Service Bus, можете глянуть вот сюды: https://shuttle.codeplex.com/ когда сервис закончит свою работу, его можно остановить. и запустить, когда потребуется в следующий раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 00:52 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
ShSergecarrotik.. это может быть обработка 1с ... цеплять ее на вебформу, конечно, не совсем (точнее совсем не) верно, но тайминг вполне может быть именно таким ... А что с 1с? Там как раз проблем-то и нету. Обычно, там очень немного данных. Опишите проблему подробнее. А то у вас получается, типа: нажимаю кнопку - плохо работает, а я хочу, чтобы - хорошо.В 1С как раз проблем выше крыши. 1 час - далеко не предел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 13:08 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
авторсервис обращается к веб-приложению через WebClient, допустим, получает нужные данные и точно также обращается, когда надо что-то передать. хотя достаточно простых сигналов, желательно работать с базой данных и хранить все там. если не затруднит, можно самый простой пример. Взаимодействия. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 13:36 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Che0авторсервис обращается к веб-приложению через WebClient, допустим, получает нужные данные и точно также обращается, когда надо что-то передать. хотя достаточно простых сигналов, желательно работать с базой данных и хранить все там. если не затруднит, можно самый простой пример. Взаимодействия. Спасибо Этого добра и в интернете навалом. Честное слово, лень писать. Посмотрите таки, в МСДНе насчёт WebClient. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2013, 14:34 |
|
||
|
webforms Асинхронный метод
|
|||
|---|---|---|---|
|
#18+
Как работать с вебклиент я знаю, я имел ввиду организовать взаимодействие в сервисом и страницей. Понимаю что смогу разобраться и сам, но если у кого есть желание пояснить или накидать примерщик это облегчит мне жизнь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 11:44 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38316332&tid=1358306]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 420ms |

| 0 / 0 |
