Keresés

Új hozzászólás Aktív témák

  • Keem1

    veterán

    válasz joysefke #9302 üzenetére

    Köszönöm. ezt kipróbálom :)

    "élesben nyilván a console.Readkey helyett valami olyan szerver metódusod lesz, ami sosem ér véget, ezáltal a backgroundban futó futó webservice is életben marad"

    Igen, ezt nagyon jól látod, a solution-ön belül két projectem van, a service, meg egy CLI verzió, próbálom mindkettőt életben tartani, mindkettőt tovább vinni. A CLI alapvetően teszteléshez, debuggoláshoz kell, amit bemásoltam, az onnan való, a service másképp működik.

    Sematikusan:
    ---- Service (project)
    ---------- servicemethods.cs
    ---------- program.cs
    ---- CLI (project)
    ---------- program.cs (<--- servicemethods.cs)

    Itt válnak ketté :)
    Windows alatt a service-t lehet CLI-ként is futtatni, sajnos Linux alatt nem.
    Ha Linux alatt futtatom, ezt kapom: Use mono-service to start service processes

    Ezért fordítok egy második exe-t is, ami gyakorlatilag a paraméterek alapján hívogatja a fő class motyóit. A két program.cs pedig ezeket használja. Az egyik serviceként a másik pedig programként.

    #region Service class
    public class Service : ServiceBase
    {
    public Service()
    {
    ServiceName = Program.ServiceName;
    }
    protected override void OnStart(string[] args)
    {
    Program.OnStart(args);
    }
    protected override void OnStop()
    {
    Program.OnStop();
    }
    }
    #endregion
    #region Main method, application's entry point
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    static void Main(string[] args)
    {
    AppInfo.UseLocalDatabaseFolder = true;
    if (System.Environment.UserInteractive)
    {
    ics.logger.Info("Run as application");
    bool showMenu = true;
    while (showMenu)
    {
    showMenu = ConsoleApp.MainMenu();
    }
    }
    else
    {
    ics.logger.Info("Run as service");
    using (var service = new Service())
    {
    ServiceBase.Run(service);
    }
    }
    }
    #endregion

Új hozzászólás Aktív témák

Hirdetés