Robert Jordan wrote:

I'm attaching a init.d skeleton for mono-services, in the hope
that this (not quite mono related) problem will settle down
for a while.

It's for SUSE, but it can be easily adapted to other distros.

Robert

Hi Robert,

Sorry to be a pain, but I tried the script without any success. I have SuSE 9.3 Pro. Here's what I got:

*****************
[EMAIL PROTECTED]:~/MonoRemotingTest/RemoteSumsService/bin/Release> ls
InstallUtil.InstallLog  RemoteSumsService.exe
monoservice             RemoteSumsService.exe.config
monoservice~            remotesumsservice.InstallLog
RemoteSumsObject.dll    remotesumsservice.InstallState
[EMAIL PROTECTED]:~/MonoRemotingTest/RemoteSumsService/bin/Release> kdesu ./monoservice start [EMAIL PROTECTED]:~/MonoRemotingTest/RemoteSumsService/bin/Release> ps -eaf | grep RemoteSumsService
peter    10160  9475  0 19:55 pts/2    00:00:00 grep RemoteSumsService
[EMAIL PROTECTED]:~/MonoRemotingTest/RemoteSumsService/bin/Release> *****************
i.e. It didn't start.

Other info:

The lines that needed configuring in the script were altered as follows:

************************

/# configure this/
SERVICE_DRIVER=/usr/bin/mono-service
/# configure this as well/
SERVICE_ASSEMBLY=/home/peter/MonoRemotingTest/RemoteSumsService/bin/Release/RemoteSumsService.exe

**************************

The code in the service (which I developed in Windows - where it works OK) is:

*****************************

*using* System;
*using* System.Collections;
*using* System.ComponentModel;
*using* System.Data;
*using* System.Diagnostics;
*using* System.ServiceProcess;
*using* System.Runtime.Remoting;

*namespace* Msc.RemoteSums
{
        *public* *class* RemoteSumsService : System.ServiceProcess.ServiceBase
        {
                //// /*<summary>*/ /
                //// Required designer variable./
                //// /*</summary>*
                *private* System.ComponentModel.Container components = *null*;

                *public* RemoteSumsService()
                {
                        /// This call is required by the Windows.Forms 
Component Designer./
                        InitializeComponent();

                        /// TODO: Add any initialization after the 
InitComponent call/
                }

                /// The main entry point for the process/
                *static* void Main()
                {
                        System.ServiceProcess.ServiceBase[] ServicesToRun;
        
                        /// More than one user Service may run within the same 
process. To add/
                        /// another service to this process, change the 
following line to/
                        /// create a second service object. For example,/
                        ////
                        ///   ServicesToRun = new 
System.ServiceProcess.ServiceBase[] {new RemoteSumsService(), new 
MySecondUserService()};/
                        ////
                        ServicesToRun = *new* 
System.ServiceProcess.ServiceBase[] { *new* RemoteSumsService() };

                        System.ServiceProcess.ServiceBase.Run(ServicesToRun);
                }

                //// /*<summary>*/ /
                //// Required method for Designer support - do not modify /
                //// the contents of this method with the code editor./
                //// /*</summary>*
                *private* void InitializeComponent()
                {
                        components = *new* System.ComponentModel.Container();
                        *this*.ServiceName = "RemoteSumsService";
                }

                //// /*<summary>*
                //// Clean up any resources being used./
                //// /*</summary>*
                *protected* *override* void Dispose( bool disposing )
                {
                        *if*( disposing )
                        {
*if* (components != *null*) {
                                        components.Dispose();
                                }
                        }
                        *base*.Dispose( disposing );
                }

                //// /*<summary>*
                //// Set things in motion so your service can do its work./
                //// /*</summary>*
                *protected* *override* void OnStart(string[] args)
                {
                        /// TODO: Add code here to start your service./
                        
RemotingConfiguration.Configure(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
//
                }

                //// /*<summary>*
                //// Stop this service./
                //// /*</summary>*
                *protected* *override* void OnStop()
                {
                        /// TODO: Add code here to perform any tear-down 
necessary to stop your service./
                }
        }
}

********************

Have I missed something obvious (again)?

Thanks


Peter

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to