![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
||||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ну, метод должен быть не static, т.к. сами WorkItem-ы создаются в множестве экземпляров (получить конкретный можно с пом. WorkItemManager.Instance.GetWorkItemForUser(userName)). А чтобы не было многопоточных неприятностей, достаточно в теле метода поставить оператор lock на любой объект. -------------------- ![]() |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Продолжаем разговор:
Расширяем задачу, описанную здесь следующим образом: Есть несколько веб-серверов, один из них "центральный". Как, по команде(ам) "центрального" запустить на "дочерних" по одному(2,3,4..) потоку(см. здесь), при этом иметь возможность, как и раньше, "опрашивать" численность всех "работающих" на серверах потоках и их состояние (админ старница). (Средствами .НЕТ) ПС. Новый топик, я думаю, нет смысла заводить... Это сообщение отредактировал(а) Pankon - 19.7.2006, 14:23 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Pankon, чем проще программа, тем лучше она работает ©
Упрощай решение задачи, или лучше продумай условие - возможно, всё проще чем ты думаешь, и не нужны все эти центральные и пр. потоки на сервере... -------------------- ![]() |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Неполучается... Есть четыре (минимум) сервера, рапределенной работой на которых нужно управлять через WEB-интерфейс... (Всмысле, пользователь то об этом и не догадывается, а только получает информацию, что "процесс идет"... а позже проверяет результат работы(из БД)).
Администратор должен иметь "расширенные" возможности, т.е. иметь возможность "наблюдать и управлять" процессами(на 4х серверах), которые запустили пользователи... Реализация для одного сервера практически готова.... Все работает... А вот, как "растянуть" это на на четыре IIS сервера пока что не знаю. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Pankon, тогда пускай они (серверы) общаются между собой как обычный клиент-сервер. Самый простой и удобный способ - выставить наружу веб-сервис, управляющий потоками сервера и выдающий информацию о тек. состоянии сервера.
-------------------- ![]() |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Спасибо.
Сегодня утром, поразмышляв немного, пришел тоже к выводу, что нужно организовывать Web service на каждом сервере.... Уже пишу Manager для центрального севера |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Грабли.... Сервер 2003 прибивает поток через 20 минут работы.... Сервер 2000 работает как часы - часами Однако, что же такое с сервером 2003 ПС. Пробовал менять timeout - результат - тот же |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
видимо, есть настройки типа Thread Pool в самом IIS под 2003-ю винду... там кстати и worker process по другому называется -------------------- ![]() |
|||
|
||||
| Yama |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 2.8.2006 Репутация: 2 Всего: 2 |
1. при работе он-лайн приложения у тебя ВСЕГДА работает веб-сервер(IIS, Apache или что-либо другое)
2. Зачем тебе переЦЦа в лоб, если можно с боку подойти? - Делаешь вин-службу или любое(хоть консольное) приложение, которому передаешь необходимые параметры запуска приложения любым удобным для тебя способом, т.е., по сути, юзер из своей сессии передает лишь параметры запуска нужного ему приложения в службу(или другое приложение), которое запускает нужное ему(юзеру), приложение и при этом оно не привязано к веб-серверу и, соответственно, к сессии юзера, т.к. запустила его совершенно другая служба(приложение). --------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |