How to exchange objects between processes in .Net?

I am trying to "split" .net objects into separate processes. I have one type of process that is a web service that manages a set of domain objects. Another type of process is a window service, which performs some automatic batch processing on the same set of objects.

Besides the typical decision that the database is a common space where both types of processes read / write objects, can there be a better distributed architecture so that these different processes are displayed and work on the same objects?

I have considered using distributed cache as a common repository for objects, but this does not fully support objects and their relationships. Graphs of objects inserted in a distributed cache are smoothed, and objects are ultimately stored in several unrelated copies.

Is the "message bus" the right way, allowing processes to send each other updated copies of objects?

Or are there other solutions to consider?

+3
source share
3 answers

I would suggest using WCF services. For local use (calling from a Windows service) you can netNamedPipeBinding. This will allow you to physically separate these two processes in the future.

+2
source

, , , , , , .

WCF . , .

Velocity Project?

+1

ScaleOut StateServer ( - www.scaleoutsoftware.com) / . , (), , , .

Velocity, , , , , - , .

: - . , , ( )?

: "", "" " ", , "". , , concurrency/ , , , , Person, "". "Group" ( ..), "Person", (, , GUID, - ), . , Leader "LeaderID", Members MemberID. ; concurrency.

( , ) Person, . , , , , . " ", , / Person, .

, , , .

+1

Source: https://habr.com/ru/post/1706642/


All Articles