Remoting performance degradation when returning custom datasets



Hello,

During development of client-server system using .NET Remoting (.NET 2.0)
for communications I found extremely weird behavior if my remoting objects
return custom datasets. For some reason it takes from 0.5 to 4 seconds for
remoting infrastructure to process an empty dataset instance on the client
side, if I'm using TCP channel with binary formatting (the fastest option!).
The behavior exhibits in the following way: after clean start client may make
only so many calls to the server getting custom dataset within tens of
milliseconds; once resting for 4-5 minutes (no calls to remote side during
this time), each and every consequent call to remote side returning custom
dataset takes 0.5 to 4 seconds. If remote call returns anything else except
custom dataset, everything performs in tens of milliseconds again. If I
change my remoting configuration to HTTP channel with binary formatting,
everything works flawless. I use this configuration as a workaround, but this
is not the solution, but workaround.

Custom dataset is made by creating a new XSD Dataset and dragging a table
from Server Explorer (SQL server), then removing table adapters part from the
dataset.

I created a bare-bone test project (
http://files.bytegems.net/RemoteDatasetTest.zip ) which exhibits the behavior
I'm talking about. I included ReadMe file with steps on how to reproduce the
problem.

Thanks!
.



Relevant Pages

  • Remoting performance degradation when returning custom datasets
    ... for communications I found extremely weird behavior if my remoting objects ... once resting for 4-5 minutes (no calls to remote side during ... custom dataset, everything performs in tens of milliseconds again. ... from Server Explorer, then removing table adapters part from the ...
    (microsoft.public.dotnet.distributed_apps)
  • Re: Synchronized objects
    ... remoting system instantiates the object remotely for you. ... there are other ways to instantiate remote objects that are ... plan to use the object in your clients and on your server. ... Does every client that connects need to access the same Foo instance ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Debugging Server Activated Remote Objects
    ... Having said that, you can do remote debugging, although it is a bit of ... Having said all of this though my recommendation to you for debugging ... this is a technique that I use with all my system service remoting ... I put all of the server code classes into a dll. ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: A basic question on remoting.
    ... you can't just call older win32 based programs with remoting. ... server, have the server call into your win32 app somehow (com, command ... and provide them back to the client. ... if you need an example of a simple remote application, ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Getting at form or other data from singlecall thread on server?
    ... The issue wasn't getting data from client to server, ... data to/from my server's remote objects and data contained in my server. ... I'm starting to work with remoting and I have a question about how to get ...
    (microsoft.public.dotnet.framework.remoting)

Loading