I think I confused Remoting and COM+ abilities/terminology.
On the second look: you have to derive from MarshalingByReference to get Remoting, or from ServicedComponent to get COM+ services. And if you want *declarative* transaction, security, etc. you have to *derive* from ServicedComponent. Otherwise, you can use SWC but you'll have to code all the service options in.
So you are right, I need to decide up front, which one.
But then, with Remoting you hardly can declare anything...
On the other hand, with COM+ that's a lot of installation/configuration/system requirements issues...
H-m-m...
By stateless/stateful I meant the following
Stateless:
ClientA: remoteObject1.Multiply(2,2) Server: instance1.Multiple(2,2)
ClientB: remoteObject2.Multiply(3,4) Server: instance1.Multiple(3,4)
ClientA: remoteObject1.Multiply(7,4) Server: instance2.Multiple(7,4)
both talk through some proxy but instance on the server can be same for both, or, if it's busy, server creates new.
Stateful:
ClientA: remoteObject1.Increment(2); Server: instance1.Increment(2)
ClientB: remoteObject2.Increment(4); Server: instance2.Increment(4)
ClientA: remoteObject1.Increment(7); Server: instance1.Increment(7)
in this case instance on server holds "conversational state" with the client until it disconnects or times out in which case the instance can be reused.
COM+ has Object Pooling but that's not the same - both Stateful and Stateless need a pool.
Remoting has Client activation mode - I guess that's for statefulness; and Server activation mode which would be for statelessness but it seems to break into two submodes Singleton - one (only!) instance; or SingleCall - new instance for each call (! even for the same client). IOW no pool.
H-m-m... again.
Well, looks too complicated for Friday night.
Nice talking to you David.
Précédent
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement