[Mono-dev] Cross-Appdomain remoting
Michael Mudge
michael at mudge.com
Fri May 6 14:18:16 EDT 2011
Ah! The idea of changing the lifetime was enough info for me to find the cause.
Hm, I could swear I saw a difference in behavior between .NET and
Mono, but my simplified test case revealed an identical error (with
slightly different text) in .NET - that led me to
InitializeLifetimeService.
I overrode InitializeLifetimeService on the MarshalByRef objects and
returned null - this prevents the objects from expiring. Thanks for
the reply!
- Kipp
On Thu, May 5, 2011 at 4:49 PM, Robert Jordan <robertj at gmx.net> wrote:
> Hi,
>
> On 05.05.2011 22:11, Michael Mudge wrote:
>> I'm seeing strange behavior on our device - AppDomain A has launched
>> AppDomain B, and wired the DomainUnloaded event. I'm seeing that
>> RemotingServices.DisposeIdentity is being called after 5 minutes, and
>> then when AppDomain B unloads itself and the unload event is fired, I
>> get this error:
>>
>> Unhandled Exception: System.Runtime.Remoting.RemotingException: Server
>> for uri '6c9364e7_bf92_4f6d_950d_9cfc5c9a372d/b4c91032_2.rem' not
>> found
>>
>> Server stack trace:
>> at System.Runtime.Remoting.Proxies.RealProxy.GetAppDomainTarget ()
>> [0x00000] in<filename unknown>:0
>> at (wrapper xdomain-dispatch)
>> Manager.Shells.WAppServer:HandleDomainUnload
>> (object,byte[]&,byte[]&,string)
>>
>> I *think* that the problem is that the domain unload can't find A.
>>
>> I *think* that the object that can't be found is supposed to be
>> automatically recreated - am I right? If that's true, I'm guessing
>
> The proxy won't be recreated. If you want to prevent it from
> being disposed, you should either change its lifetime (via
> app.config's <system.runtime.remoting> element) or call/poll
> a method periodically.
>
>> that this can't be done when an AppDomain is being unload... Is that
>> true? Where should I start looking to solve this? Can someone
>> provide a clearer explanation of how this all works?
>
> Please explain first (preferably with code) what you're trying
> to achieve.
>
> Robert
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
More information about the Mono-devel-list
mailing list