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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по реализации распределенного приложения 
:(
    Опции темы
arsenium
Дата 15.5.2010, 15:01 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеем в наличии локальную сеть из 20 компьютеров, все они находятся в одном домене. являемся администратором этой сети и имеем соответствующие полномочии. Подскажите как реализовать следующее: 
програмку наподобие Диспетчера задач,(достаточно данные о запущенных процессах) и мониторить их в режиме реального времени. Т.е. запускаем ее на любом из этих 20 компьютеров с правами администратора, и мониторим процессы(название, время запуска, память) с нескольких компьютеров. С помощью WMI получается дергать информацию, но как сделать это в реальном времени? зациклить? (наверное это опасно)
Или запускаем клиент на одном компе а на нескольких специальных агент, который бы нам отдавал эту информацию? только как это лучше реализовать?
Может ктонибудь в общих чертах набрасать модель реализации данного приложения?
PM MAIL   Вверх
arsenium
Дата 16.5.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



единоразово делаю так:

Код

try
            {
                
                ConnectionOptions options = new ConnectionOptions();
                options.Username = "test";
                options.Password = "test123";

                ManagementScope scope = new ManagementScope("\\\\192.168.0.102\\root\\cimv2", options);
                scope.Connect();

                ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process");
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
                ManagementObjectCollection queryCollection = searcher.Get();

                foreach (ManagementObject p in queryCollection3)
                {
                    
                        string[] methodArgs3 = new String[2];
                        p.InvokeMethod("GetOwner", methodArgs3);
                       
                        double WSS = Convert.ToDouble(p["WorkingSetSize"].ToString()) / 1024;
                        string[] prcdetails = new string[] { p["Name"].ToString(), methodArgs3[0], p["ProcessId"].ToString(), WSS.ToString() + " KB", p["Priority"].ToString() };
                        
                        ListViewItem proc = new ListViewItem(prcdetails);
                        lvprocesslist.Items.Add(proc);
                    
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


где lvprocesslist это ListView.

Будет ли правильно запускать этот код в цикле, что бы стараться в реальном времени получать данные о процессах? 
Как бы было правильно это реализовать?
PM MAIL   Вверх
Miller_time
Дата 19.5.2010, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

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



Я делал примерно такую же штуку но только для этого использовал потоки 

http://www.rsdn.ru/article/dotnet/CSThreading1.xml


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




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


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

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