Distributed GC And Remoting (Urgent)

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.
 
S

STom

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
 
A

Ahmet AKGUN

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top