I noticed, when looking through the inheritance structure for Entity, that MarshalByRefObject is no longer present, unlike 3.x. We make great use of the fact that DO persistent objects are remotable. Is there any plan to add that capability? Thanks. This thread was imported from our support forum. The original discussion may contain more detailed answer. Original topic by msawczyn. |
No, we won't add this. The possibility to marshal them by ref was usually leading to chatty client-server interaction. Of course this worked, but you should do a lot to make this work well, i.e. in general, people were following this path:
Now we're going to propose better pattern: we won't support MBRs (we can, by this will just confuse the people), but it will be possible to use Sync for any Domain. Sync is much less chatty by its nature (i.e. the smallest unit of information it delivers is the whole entity state, rather than e.g. single property; normally it will deliver the whole query results). Internally it will rely on a WCF service shared by master Domain, so in fact, Sync makes remote master Domain looking as if it would be marshaled by reference, but internally it will work as stateless SOA service. So basically, working with sync means:
Both these features imply you get almost ideal client-server interaction right from scratch. Moreover, you get almost the same result: you use absolutely the same entities on server and client, almost like with MBRs. |