2016-09-06 7 views
1

Я работаю над библиотекой, включенной в различные сервисы.Обмен данными в одной и той же библиотеке в другом процессе

Определенная служба получает сообщение, после получения этого сообщения моя библиотека читает его, затем ему необходимо сохранить некоторые данные из этого сообщения.

В другой службе после получения определенного сообщения моя библиотека должна создать сообщение с данными из первого сообщения.

Как я могу это сделать?

Очевидно, что я не хочу использовать файл, где я размещаю эти данные, я бы хотел, чтобы это было хорошо сделано. Я просмотрел данные совместного использования WCF Inter-Process, но, поскольку все делается внутри моей библиотеки, это не работает ... Любые идеи?

+0

Будет ли это использоваться в резьбовом приложении? – dwbartz

+0

Да, но все уже потокобезопасно. – ReCoF

+0

Я не совсем уверен, что вы хотите сделать здесь. Предполагается, что обе службы могут влиять друг на друга? – dwbartz

ответ

1

Я не предлагаю это в качестве ответа, но поскольку у меня нет прав на коммиты, это нужно будет сделать.

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

Совсем недавно у меня было два приложения Windows, общающиеся через общую память, и, если ваши приложения все работают на одной машине, это может стоить внимания. Эти ссылки могут помочь: https://sharedmemory.codeplex.com/ https://msdn.microsoft.com/en-us/library/dd997372(v=vs.110).aspx

Когда приходит сообщение, вам понадобятся ваши приложения, чтобы знать, что для них имеются данные. Если они работают на отдельных машинах, вам придется иметь какие-то коммиты, но если они находятся на одной машине, может возникнуть проблема с системой.

https://msdn.microsoft.com/en-us/library/yfk7eby4(v=vs.110).aspx

Надеется, что это помогает!

С уважением,

Adam.

+0

Я действительно работаю над очень большим приложением, включая множество услуг. И моя библиотека не может быть чем-то другим, кроме библиотеки. Эта часть, в которой он принимает информацию от одного сообщения, полученного в одной службе, для создания нового сообщения в другой службе, является лишь небольшой частью того, что он на самом деле делает. Если я не смогу найти решение, я буду использовать файлы, но у меня есть ощущение, что я могу найти лучшее решение. – ReCoF