Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выполнение метода в фоновом режиме / 25 сообщений из 25, страница 1 из 1
29.01.2012, 15:07:36
    #37637133
vlad_nau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
Добрый день всем!

Такая ситуация: нужно чтобы в фрейме вызывался метод, который работает в многопоточном режиме, но с таким условием, что фрейм можно было закрыть и выполнять другие операции(типа открыть какой-то другой фрейм, перейти на другую страницу), а метод продолжал выполняться!

Возможно ли это? Пробовал разные варианты, но фрейм всегда "ждёт" выполнения метода до конца, а потом только закрывается(также наступает Page_Unload только после завершения выполнения метода).

Заказчику нужно, чтоб он открыл окошко, нажал кнопочку "разослать всем" и закрыл сразу окно, а рассылка происходила в фоновом режиме. Посоветуйте что-нибудь , пожалуйста!
...
Рейтинг: 0 / 0
29.01.2012, 15:57:59
    #37637169
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
vlad_nauЗаказчику нужно, чтоб он открыл окошко, нажал кнопочку "разослать всем" и закрыл сразу окно, а рассылка происходила в фоновом режиме. Посоветуйте что-нибудь , пожалуйста!

Можно при нажатии только отметить в базе, что нужно разослать. А саму рассылку реализовать через job в базе или сервис на веб сервере.
...
Рейтинг: 0 / 0
29.01.2012, 16:19:09
    #37637178
vlad_nau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
Starlex, это нужно периодически выполнять запросы к бд, правильно? то есть запустить таймер?
...
Рейтинг: 0 / 0
29.01.2012, 18:09:59
    #37637266
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
vlad_nauStarlex, это нужно периодически выполнять запросы к бд, правильно? то есть запустить таймер?

да, job можно и таймером назвать при желании. Или периодичный опрос можно сделать в сервисе.
...
Рейтинг: 0 / 0
29.01.2012, 18:26:24
    #37637275
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
vlad_nau,

На аспнет глупо писать спам-боты, он не для того предназначен. Напишите на винформс или любое (не вэб) приложение на любом языке.
...
Рейтинг: 0 / 0
29.01.2012, 18:36:29
    #37637282
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
ShSerge,

создать новый треад и запустить все что нада в нем?
...
Рейтинг: 0 / 0
29.01.2012, 18:37:10
    #37637284
няка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
няка,

тьфуты, для vlad_nau естесно предыдущий мой пост
...
Рейтинг: 0 / 0
29.01.2012, 18:51:37
    #37637292
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
някаShSerge,

создать новый треад и запустить все что нада в нем?

Ага, а через 3 дня заказчик посмотрит на нагрузку и захочет делать рассылку не сразу, а ночью. И будете всё переделывать. Нужно рассылку делать отдельным приложением, чтобы можно было настраивать когда - через минуту или в определенное время.
...
Рейтинг: 0 / 0
29.01.2012, 18:52:09
    #37637294
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
ShSerge
а что мешает в пуле с приложением делать фоновые процессы? А винформс предназначены?)
автору
да юзайте да потоки с таймером или вариант есть библа готовая ..шулдер менеджер...портированая с явы. название не помню..но вот с ней приятно работать
...
Рейтинг: 0 / 0
29.01.2012, 19:08:00
    #37637304
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
brainproof,

В вэбформс вы не получите доступа к своему тхреаду. Даже не определите делает он что-то или просто завис. А в винформс сможете его, например, остановить и продолжить, и отслеживать прогрессом.
...
Рейтинг: 0 / 0
29.01.2012, 19:16:32
    #37637310
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
Parallel, PLinq, Task?
...
Рейтинг: 0 / 0
29.01.2012, 19:21:40
    #37637316
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
ShSerge
уверены?
--А в винформс сможете его, например, остановить и продолжить, и отслеживать прогрессом.
тоже самое я могу сделать и в асп нет..уже делал. ява, хендлеры и наблюдатели творят чудеса
...
Рейтинг: 0 / 0
29.01.2012, 19:44:51
    #37637341
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
Я тоже делал. Только ваш ход - расскажите в двух словах как.
...
Рейтинг: 0 / 0
29.01.2012, 19:46:51
    #37637342
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
МСУParallel, PLinq, Task?
Вы механизм опишите. Словами, так сказать.
ПС. Учтите, вопрос про вэб.
...
Рейтинг: 0 / 0
29.01.2012, 19:52:15
    #37637345
vlad_nau
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
при нажатии кнопки создаю новый поток, который в свою очередь создаёт ещё 5 потоков и рассылает спам) наверное, не самый лучший вариант, но самый простой с точки реализации. Всем большое спасибо за советы!
...
Рейтинг: 0 / 0
29.01.2012, 19:57:18
    #37637346
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
через яву обращаемся к хендлеру вызывающий наблюдатателя о состояние фоновой задачи. В итоге хендлер возвращает прогресс на клиента. Также через хендлер и тот же наблюдатель(можно ему делигировать функции хотя не совсем гуд идея) или напрямую таск менеджеру фоновому, мы можем прервать процесс или остановить.
...
Рейтинг: 0 / 0
29.01.2012, 19:58:49
    #37637347
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
забыл сказать клиент переодический опрашивает сервер о состояние процесса..хотя это думаю очевидно
...
Рейтинг: 0 / 0
29.01.2012, 20:05:32
    #37637349
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
эх по хорошему бы показать бы вам это в дело в действие но я не могу дать доступ в админку
...
Рейтинг: 0 / 0
29.01.2012, 20:23:03
    #37637356
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
brainproof,

Да, именно так и делается. Через одно место, то есть. Надеюсь, Вы предусмотрели вариант, когда много-много пользователей эту операцию делают одновременно?
ПС. Не называйте никогда яваскрипт явой. Слух режет. :(
...
Рейтинг: 0 / 0
29.01.2012, 20:35:10
    #37637364
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
---когда много-много пользователей эту операцию делают одновременно?
патерн синглетон ...кучу потоков делать каждому смысла нет
да с яваскрипт пардон. чертов лень писать)
...
Рейтинг: 0 / 0
29.01.2012, 20:39:00
    #37637372
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
про много людей тут скользкая тема...все зависит от ресурсов еще железки. тут можно придумать всегда что нибудь это не проблема. Мне пришлось ограничивать так как веб приложение запускалось под шарехостинг, + делать ограничение одновременно используемых потоков. иначе просто вырубают за превыщение лимата испольуземых ресурсов
...
Рейтинг: 0 / 0
29.01.2012, 21:17:28
    #37637396
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
Под "много пользователей" я имел ввиду то, что у каждого пользователя свои данные. То есть, в данном случае, свой список рассылки и свои сообщения.
...
Рейтинг: 0 / 0
29.01.2012, 21:33:51
    #37637407
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
ShSergeПод "много пользователей" я имел ввиду то, что у каждого пользователя свои данные. То есть, в данном случае, свой список рассылки и свои сообщения.

ммм понятно. Решение все равно есть и если надо это можно учесть если это идет как требование.
...
Рейтинг: 0 / 0
29.01.2012, 21:40:22
    #37637415
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
база чья - sql server?

если версии от 2005, то по кнопке вызываете процедуру или запросом вкидываете в очередь брокеру задание, и получаете тут же возврат управления в код, а брокер будет обрабатывать.
Отправлять будет тот, кто обрабатывает очередь, т.е. или t-sql процедура, или же совсем умное скажем шарповое внешнее приложение, имеющее доступ к базе
...
Рейтинг: 0 / 0
30.01.2012, 08:56:05
    #37637663
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выполнение метода в фоновом режиме
ShSergeМСУParallel, PLinq, Task?
Вы механизм опишите. Словами, так сказать.
ПС. Учтите, вопрос про вэб.
Без разницы, веб или не веб. Механизм проще пареной репы - отдать задачу на параллельное выполнение отдельному потоку. С помощью паралеллей это делает оптимальней по производительности, нежели ручное ковыряние в тредпулах с выделением нити.
А если с клиента, то еще проще: $.ajax (async=true), отработку метода ловим в колбэке.
Что может быть сложнее?
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выполнение метода в фоновом режиме / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]