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.
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only