Hmmm... hard to say, i did remoting part 4+ years ago :) in .net 1.1 era :) It sees to be I am not doing anything special, but keep in mind i am using mode="SingleCall"
Here is more details: <system.runtime.remoting> <application> <service> <wellknown type="Rmt.RmtBridge, Rmt" objectUri="Rmt" mode="SingleCall" /> </service> <channels> <channel ref="tcp" name="RmtChannel" port="12345"> </channel> </channels> </application> </system.runtime.remoting> And all remoting types/methods are in one class: namespace Rmt { public class RmtBridge : MarshalByRefObject {...} } Service has multiple threads and some of them are control threads which i am using to kill real worker threads if they are hang. Control thread code look like: public override void ControlThreadLoop() { // Configure remoting bool isInitOk = InitRemoting(); if (IsStop()) return; // exit signaled if (!isInitOk) { // Fail to init remoting - log exception and continue ..... error EventLog here... } while (!IsStop()) { .... create worker thread and monitor it health .... } } // Try to configure remoting, return true on success private bool InitRemoting() { for (int j = 0; !IsStop() && j < INIT_ATTEMPT_COUNT; j++) { try { RemotingConfiguration.Configure( System.IO.Path.Combine( AppDomain.CurrentDomain.BaseDirectory, AppDomain.CurrentDomain.FriendlyName + ".config" )); return true; // success } catch(Exception e) { ..... warning EventLog here... } // sleep before next attempt IdleSleep(IDLE_SLEEP_TIME); } return false; // not initialized } } sorry for that long e-mail, hope it helps (not sure about that, but trying my best :) -- amc ----- Original Message ----- From: "Danny" <dgorto...@gmail.com> To: "Amc Gmail" <amc1...@gmail.com> Cc: "jos_" <j...@sonhult.se>, mono-list@lists.ximian.com Sent: Tuesday, July 14, 2009 3:47:17 PM GMT -05:00 US/Canada Eastern Subject: Re: [Mono-list] Service or daemon with Mono? I'd like to second that. I use the same techniques with good results. However, *occasionally* I have problems with my remoting listener holding open the TCP socket after shutdown (in which I unregister the marshalled object(s)). If you don't mind me asking, do you do anything specific or special to clean up your remoting channel? Amc Gmail wrote: > We don't have any problems with .NET service running under Mono. > It's based on ServiceBase, uses EventLog and .NET Remoting without any > problems. > All you need to do is to create init.d script to start/stop mono-service > during startup/shutdown > -- amc > > ----- Original Message ----- > From: "jos_" <j...@sonhult.se> > To: mono-list@lists.ximian.com > Sent: Tuesday, July 14, 2009 8:45:07 AM GMT -05:00 US/Canada Eastern > Subject: [Mono-list] Service or daemon with Mono? > > > Hello, > > What is the recommended way to write a service-like software in Mono? > > My first guess would be to use the normal class ServiceBase existing in Mono > (and .NET of course). But there seems to be little information on how this > works with Mono, and from what I've read it is not considered stable (?). > > 1. Is it better to just create a normal app, turn on automatic login and run > it at login? > 2. Is it possible to create a daemon using Mono? > 3. Is there any documentation on how to "install" the "service" if developed > in Mono using ServiceBase (or any other method)? > > In short: I'm looking for a way to build the Linux equivalent for a service > using Mono, and install it on a Linux-dist =) > > Thanks in advance! > / Jonas _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list