Distributed GC And Remoting (Urgent)

  • Thread starter Thread starter Ahmet AKGUN
  • Start date Start date
A

Ahmet AKGUN

Hi All;

In an application, I have lots of dummy forms without db connection and one
server that have connection pooling. Client forms will be used by tens of
users.

Dummy forms connect to the server via tcpChannel and request a bussiness
logic job
to be done like insert database, select from database into Dataset, select
into dataview etc.

I use TcpChannel and Activator class to make remote call to Server's
functions
from client and server returns me some objects like dataset, etc.. in return
of my calls.

the problem is that I dont know how long this objects will remain in memory
of
server and how log I can reference them from client.

is .net GC clever enough to understand that dataset is referenced by a
client
and must remain in memory, or it has no referances and must be deleted ?.

Can anybody help me about this topic. (an example, article etc. accepted)
Or comment on my architect (I am new at .net, and I am not sure whether
my distributed architect will cause trouble about GC in the future) ?

Helps'll be appreciated.
 
Ahmet,

If your remote objects are returning a dataset to you, then remember that a
dataset is a disconnected set of data meaning that the object is over on the
client side. The server doesn't know about it.

On your remote objects, are you using 'SingleCall' or 'Singleton'? When you
use SingleCall, as soon as you complete your call to the remote object
function, that object has completed its use and will be gc later.

When you say the server returns some objects, do you mean serializable
objects? Again, if these objects are serializable, once you have them on the
client side (after the successful call to the remote object), the server
knows nothing about them, they are on the client side now.

STom
 
All of my bussiness logic classes are derived from MarshalByRef.
And dataset created is on server side, it is not in client side.
On client, I have a referance to dataset.

and I am not sure whether I can dispose the dataset created on client code
or not.
Or when dataset will be gc.collect()'ed on server because client must know
about this.

regards.
 
Back
Top