Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как(где) создать поток, который работает, после окончания проложения? 
:(
    Опции темы
Pankon
Дата 13.7.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(Pankon @  12.7.2006,  14:19 Найти цитируемый пост)
если в WorkItem.cs написать static метод, не будет проблем, если к нему будут обращаться разные потоки? 
 smile 
 
PM MAIL   Вверх
mr.DUDA
Дата 13.7.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Pankon @  13.7.2006,  09:59 Найти цитируемый пост)
если в WorkItem.cs написать static метод, не будет проблем, если к нему будут обращаться разные потоки? 

Ну, метод должен быть не static, т.к. сами WorkItem-ы создаются в множестве экземпляров (получить конкретный можно с пом. WorkItemManager.Instance.GetWorkItemForUser(userName)). А чтобы не было многопоточных неприятностей, достаточно в теле метода поставить оператор lock на любой объект. 


--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 19.7.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Продолжаем разговор:

Расширяем задачу, описанную здесь следующим образом:
Есть несколько веб-серверов, один из них "центральный". Как, по команде(ам) "центрального" запустить на "дочерних" по одному(2,3,4..)  потоку(см. здесь), при этом иметь возможность, как и раньше, "опрашивать" численность всех "работающих" на серверах потоках и их состояние (админ старница). 

(Средствами .НЕТ) 


ПС. Новый топик, я думаю, нет смысла заводить... 

Это сообщение отредактировал(а) Pankon - 19.7.2006, 14:23
PM MAIL   Вверх
mr.DUDA
Дата 19.7.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Pankon, чем проще программа, тем лучше она работает ©

Упрощай решение задачи, или лучше продумай условие - возможно, всё проще чем ты думаешь, и не нужны все эти центральные и пр. потоки на сервере... 


--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 19.7.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(mr.DUDA @  19.7.2006,  21:16 Найти цитируемый пост)
Упрощай решение задачи...
 Неполучается... Есть четыре (минимум) сервера, рапределенной работой на которых нужно управлять через WEB-интерфейс... (Всмысле, пользователь то об этом и не догадывается, а только получает информацию, что "процесс идет"... а позже проверяет результат работы(из БД)). 
Администратор должен иметь "расширенные" возможности, т.е. иметь возможность "наблюдать и управлять" процессами(на 4х серверах),  которые запустили пользователи...

Реализация для одного сервера практически готова.... Все работает... А вот, как "растянуть" это на на четыре IIS сервера пока что не знаю.
 
PM MAIL   Вверх
mr.DUDA
Дата 20.7.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Pankon, тогда пускай они (серверы) общаются между собой как обычный клиент-сервер. Самый простой и удобный способ - выставить наружу веб-сервис, управляющий потоками сервера и выдающий информацию о тек. состоянии сервера. 


--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 20.7.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Спасибо.

Сегодня утром, поразмышляв немного, пришел тоже к выводу, что нужно организовывать Web service на каждом сервере....

Уже пишу Manager для центрального севера  smile  
PM MAIL   Вверх
Pankon
Дата 8.9.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(mr.DUDA @  11.7.2006,  23:37 Найти цитируемый пост)
Цитата(ivashkanet @  11.7.2006,  20:45 Найти цитируемый пост)
 А не закроется поток, при закрытии сессии

Одно другого никак не касается. Есть процесс (aspnet_wp.exe или w3wp.exe), запущенный в нём поток ведёт себя точно так же как в любом другом приложении - 100% проверено.  



Грабли....
Сервер 2003 прибивает поток через 20 минут работы.... smile
Сервер 2000 работает как часы - часами smile

Однако, что же такое с сервером 2003  smile 

 smile 



ПС. Пробовал менять timeout - результат - тот же
PM MAIL   Вверх
mr.DUDA
Дата 8.9.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Pankon @  8.9.2006,  16:58 Найти цитируемый пост)
Грабли....Сервер 2003 прибивает поток через 20 минут работы.... Сервер 2000 работает как часы - часами Однако, что же такое с сервером 2003

видимо, есть настройки типа Thread Pool в самом IIS под 2003-ю винду... там кстати и worker process по другому называется smile, w3wp.exe или что-то в этом роде...


--------------------
user posted image
PM MAIL WWW   Вверх
Yama
Дата 14.12.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 2.8.2006

Репутация: 2
Всего: 2



1. при работе он-лайн приложения у тебя ВСЕГДА работает веб-сервер(IIS, Apache или что-либо другое)
2. Зачем тебе переЦЦа в лоб, если можно с боку подойти? - Делаешь вин-службу или любое(хоть консольное) приложение, которому передаешь необходимые параметры запуска приложения любым удобным для тебя способом, т.е., по сути, юзер из своей сессии передает лишь параметры запуска нужного ему приложения в службу(или другое приложение), которое запускает нужное ему(юзеру), приложение и при этом оно не привязано к веб-серверу и, соответственно, к сессии юзера, т.к. запустила его совершенно другая служба(приложение).
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.