Re: CAO passed through 2 servers.

From: Bob Rundle (rundle_at_rundle.com)
Date: 03/17/05


Date: Thu, 17 Mar 2005 01:22:50 -0700

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.

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

"Sunny" <sunny@newsgroup.nospam> wrote in message
news:ur6SBWnKFHA.3992@TK2MSFTNGP15.phx.gbl...
> In article <OR3iLPLJFHA.3340@TK2MSFTNGP14.phx.gbl>, rundle@rundle.com
> says...
>> I have a CAO. I pass this object to Server1. Server1 accesses
>> properties
>> on the CAO just fine. Server1 passes the CAO to Server2. Server2 tries
>> to
>> access properties on the CAO and gets error "No connection could be made
>> because the target machine actively refused it."
>>
>> Server1 and Server2 are identical...just on different machines. I have
>> remoting events working fine, so this is not an issue where the object
>> needs
>> a port on the client...I've got that set up.
>>
>> I've tried duplicating this problem with a small program...actually a
>> modified version of Sunny's EventWrapper prototype...and I can't. It
>> seems
>> to work just fine on a small scale.
>>
>> So something else is the problem. This "target machine actively refused"
>> problem seems to occur in many situations. Is it possible that this
>> error
>> occurs because I have one too many remoting calls in progress?
>>
>> Any ideas on how to diagnose this issue would be much appreciated.
>>
>> Regards,
>> Bob Rundle
>>
>>
>>
>
> Bob,
> "target machine actively refused" is most cases happens because of
> network troubles. Are you sure that Server2 can access the machine
> hosting the CAO? No gateways/firewalls? No NAT? Actually where CAO
> resides? Do I understand that you have a client, which creates a CAO on
> some server, then passes this CAO to another server? Can you clarify
> this?
>
> 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 ... > through Server1 on the way to being handled in the client. ...
    (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: Remoting callback hangs on ThreadPool thread
    ... An alternative is to not use Remoting at all for situations like this. ... Instead use messaging with a publish subscribe model. ... they have forgot to implement a timeout value for TCP ... >> creates a CAO on the server, and register this CAO as event receiver ...
    (microsoft.public.dotnet.framework.remoting)
  • CAO passed through 2 servers.
    ... I have a CAO. ... I pass this object to Server1. ... Server1 accesses properties ... remoting events working fine, so this is not an issue where the object needs ...
    (microsoft.public.dotnet.framework.remoting)
  • Remoting & CAO Question
    ... CAO remoting??? ... Can't I just use an Interface to the class on the client side and ... Dim MyPerson As IPerson ... How can I do this using CAO in a similar fashion? ...
    (microsoft.public.dotnet.languages.vb)

Loading