sql >> Databáze >  >> RDS >> Sqlserver

Problém s testováním služby Windows

Vždy můžete vytvořit hybridní službu / konzolovou aplikaci a použít konzolovou aplikaci pro účely testování.

Co musíte udělat, je něco takového - ve vašem program.cs , změňte Main metoda ke spuštění služby, nebo volitelně jako konzolová aplikace:

static class Program
{
    static void Main(params string[] args)
    {
        string firstArgument = string.Empty;

        if (args.Length > 0)
        {
            firstArgument = args[0].ToLowerInvariant();
        }

        if (string.Compare(firstArgument, "-console", true) == 0)
        {
            new YourServiceClass().RunConsole(args);
        }
        else
        {
            ServiceBase[] ServicesToRun = new ServiceBase[] { new YourServiceClass() };
            ServiceBase.Run(ServicesToRun);
        }
    }

a pak na vaší třídě služeb, která dědí z ServiceBase a má OnStart a OnStop , přidejte RunConsole metoda takto:

    public void RunConsole(string[] args)
    {
        OnStart(args);

        Console.WriteLine("Service running ... press <ENTER> to stop");

        //Console.ReadLine();
        while (true)
        { }

        OnStop();
    }

Nyní, pokud chcete spustit aplikaci a otestovat její funkčnost, stačí spustit EXE pomocí -console parametr příkazového řádku a vložte bod přerušení do RunConsole metoda.



  1. Vytvořte vnořená pole JSON pomocí FOR JSON PATH

  2. PDO mysql:Jak zjistit, zda bylo vložení úspěšné

  3. Jak napsat dotaz pro porovnání aktuálního data s časovými razítky created_at v databázi?

  4. Jak funguje Unicode() v SQLite