Re: CAO passed through 2 servers.

From: Sunny (sunny_at_newsgroup.nospam)
Date: 03/17/05


Date: Thu, 17 Mar 2005 08:57:48 -0600

In article <OK5SGqsKFHA.244@TK2MSFTNGP12.phx.gbl>, rundle@rundle.com
says...
> Sunny,
>
> I've done more work on this problem since I first posted.
>
> The CAO actually resides on the client (perhaps I am confused about this CAO
> term). The client then uses a remoting call to pass the object reference to
> Server1 and then Server1 passes the object reference to Server2.
>
> Therefore when Server2 calls a method on the object the call must pass
> through Server1 on the way to being handled in the client.

No, if you pass the reference from Server1 to Server2, then Server2 will
call directly the original object (I.e. your client) without going
through Server1.

>
> I multi-homed my machine so that I could get two copies of the server
> running on the same machine...and it works! So the problem is definitely
> related to the fact that the servers are on two separate machines.
>
> The network is a trivial network I have set up at my house. I have a
> desktop and a laptop connected to a DSL router. Addresses are the usual
> 192.168.0.* foolishness.
>
> So I don't think it is a network topology problem. The fact that the
> modified EventWrapper code works indicates that the basic idea is correct.
>
> My current thinking is that I am exceeding some maximum intermachine
> remoting call limit for my remoting port. I tried increasing the maximum
> number of connections for the socket (which by default is 2) which had no
> effect of the problem.
>
> I've changed my remoting architecture so that remoting calls no longer go
> through an intermediary...this would have been too brittle anyway. However
> I am still interested in this problem since it seems to be fairly subtle and
> so knowing the reason why it doesn't work would be very useful information.
>
> Regards,
> Bob Rundle
>

I can not imagine why it does not work, it should. Maybe if you can
strip down your app to a reproducible sample, I can take a look into it.

Cheers
Sunny



Relevant Pages

  • Re: CAO passed through 2 servers.
    ... The CAO actually resides on the client (perhaps I am confused about this CAO ... The client then uses a remoting call to pass the object reference to ... Server1 and then Server1 passes the object reference to Server2. ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Obj destruction
    ... the monitor tool can step in and kill the RO. ... > CAO destructor, but the destructor is never called unless CAO server is ... .Net Remoting won't allow that. ... > client. ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: soapsuds
    ... pre-instantiated exe running in a singleton mode, for remoting, even if you ... Revised framework implementations will probably not break your application ... We can then compile the client using this code which allows us ... Both client and server are ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Sending Messages and Sharing Objects
    ... RJ> are using CSLA framework by Rocky because it allows us to switch ... Web Service, Remoting or Simple ... RJ> since client requirements could vary. ... RJ> to use any of the channels - 2Tier, Web Service or Remoting ...
    (microsoft.public.dotnet.distributed_apps)
  • Re: passing structs (setializable) object in web service
    ... The philosophy of webservices is different than that of remoting. ... follow Seely's advice as Christoph pointed out earlier - you have to modify ... > having total control over both client and server types. ...
    (microsoft.public.dotnet.framework.aspnet.webservices)