Межпроцессное взаимодействие
От: faa  
Дата: 30.05.13 11:27
Оценка:
Доброго времени суток, коллеги!

Необходимо переслать строку идентификаторов вставленных в БД записей в другой процесс, чтобы
уведомить его о наличие новых записей в таблице. (БД на MS SQL Server 2008 R2).

Подскажите пожалуйста самый простой способ межпроцеснного взаимодействия с точки зрения простоты реализации и минимального объёма кодирования для случаев, когда:

1. Процесс-отправитель сообщения и процесс-примёмник сообщения выполняются на одной машине;
2. Процесс-отправитель сообщения и процесс-примёмник сообщения выполняются на разных машинах в сети;

Просьба не предлагать тяжеловесных решений — хотелось бы из разряда просто и эффективно Требование реализовать уведомление процесса-подписчка возникло спонтанно, когда
проект уже почти сдавать пора... Поэтому хотелось бы самой малой кровью

Заранее благодарен!
Re: Межпроцессное взаимодействие
От: Sharov Россия  
Дата: 30.05.13 12:33
Оценка:
Здравствуйте, faa, Вы писали:

WCF и named pipes.
http://msdn.microsoft.com/en-us/library/ms752247.aspx
Кодом людям нужно помогать!
Re[2]: Межпроцессное взаимодействие
От: faa  
Дата: 30.05.13 13:28
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, faa, Вы писали:


S>WCF и named pipes.

S>http://msdn.microsoft.com/en-us/library/ms752247.aspx

Большое спасибо!
Re[3]: Межпроцессное взаимодействие
От: Nikolay_P_I  
Дата: 31.05.13 06:05
Оценка: -1
Здравствуйте, faa, Вы писали:

S>>WCF и named pipes.

S>>http://msdn.microsoft.com/en-us/library/ms752247.aspx

faa>Большое спасибо!


Делайте на сокетах и не морочьте себе голову. Потому как только у вас появятся ошибки в сети на стадии 2 — вы проклянете и WCF и named pipes и все высокоуровневые технологии вместе взятые.

Хотя, если это у вас лабораторная — совет хороший
Re: Межпроцессное взаимодействие
От: igor-booch Россия  
Дата: 31.05.13 06:52
Оценка: 2 (1)
faa>1. Процесс-отправитель сообщения и процесс-примёмник сообщения выполняются на одной машине;

Если только для этого случая, то http://msdn.microsoft.com/en-us/library/bb546102.aspx
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания
http://rsdn.ru/Info/rules.xml
Re[2]: Межпроцессное взаимодействие
От: Sharov Россия  
Дата: 31.05.13 07:40
Оценка:
Здравствуйте, igor-booch, Вы писали:

IB>Если только для этого случая, то http://msdn.microsoft.com/en-us/library/bb546102.aspx


Не айс -- от .net 4.0 появились.
Кодом людям нужно помогать!
Re[4]: Межпроцессное взаимодействие
От: Sharov Россия  
Дата: 31.05.13 07:45
Оценка:
Здравствуйте, Nikolay_P_I, Вы писали:


N_P>Делайте на сокетах и не морочьте себе голову. Потому как только у вас появятся ошибки в сети на стадии 2 — вы проклянете и WCF и named pipes и все высокоуровневые технологии вместе взятые.


Подробнее можно? Если у нас ошибки в сети, то чем сокеты то лучше.
Кодом людям нужно помогать!
Re[3]: Межпроцессное взаимодействие
От: igor-booch Россия  
Дата: 31.05.13 07:49
Оценка:
IB>>Если только для этого случая, то http://msdn.microsoft.com/en-us/library/bb546102.aspx
S>Не айс -- от .net 4.0 появились.

Классы AnonymousPipeServerStream и AnonymousPipeClientStream доступны начиная с версии .net 3.5
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания
http://rsdn.ru/Info/rules.xml
Re[5]: Межпроцессное взаимодействие
От: Nikolay_P_I  
Дата: 31.05.13 08:36
Оценка:
Здравствуйте, Sharov, Вы писали:

N_P>>Делайте на сокетах и не морочьте себе голову. Потому как только у вас появятся ошибки в сети на стадии 2 — вы проклянете и WCF и named pipes и все высокоуровневые технологии вместе взятые.


S>Подробнее можно? Если у нас ошибки в сети, то чем сокеты то лучше.


Тем, что локализовать причину аварии намного проще и бороться с ней намного удобнее. В конечном итоге (в реальной жизни) вокруг WCF все равно вырастает своя обёртка с поддержкой канала в рабочем состоянии, трансляцией исключений, опросом состояния соединения и прочее, прочее, прочее. После чего приходит понимание, что собственно тип транспорта был не сильно важен.
Re: Межпроцессное взаимодействие
От: Аноним  
Дата: 31.05.13 08:39
Оценка: 3 (1)
Здравствуйте, faa, Вы писали:
faa>1. Процесс-отправитель сообщения и процесс-примёмник сообщения выполняются на одной машине;

1) memory-mapped files
Re: Межпроцессное взаимодействие
От: RushDevion Россия  
Дата: 31.05.13 09:16
Оценка:
Еще вариант.
Если процесс-отравитель имеет доступ к, то может проще завести отдельную табличку для уведомлений + тригер на вставку в основную таблицу.
Процесс приемник пусть сам опрашивает с нужной периодичностью.
Re: Межпроцессное взаимодействие
От: Kubyshev Andrey  
Дата: 31.05.13 13:41
Оценка:
Через табличку!
Re[2]: Межпроцессное взаимодействие
От: Nikolay_P_I  
Дата: 01.06.13 04:47
Оценка:
Здравствуйте, RushDevion, Вы писали:

RD>Если процесс-отравитель имеет доступ к, то может проще завести отдельную табличку для уведомлений + тригер на вставку в основную таблицу.

RD>Процесс приемник пусть сам опрашивает с нужной периодичностью.

Такое обычно не подходит по соображениям скорости работы БД. Но, если это не страшно — то можно еще куда в extended property время последнего изменения пихать и мониторить либо вообще у MS SQL есть механизм событий от БД. Для программы выглядит именно как .NET event.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.