Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Problem z testowaniem usługi Windows

Zawsze możesz utworzyć hybrydę usługi / aplikacji konsoli i użyć aplikacji konsoli do celów testowych.

To, co musisz zrobić, to coś takiego - w swoim program.cs , zmień Main metoda, aby uruchomić usługę lub opcjonalnie uruchomić jako aplikację konsolową:

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 następnie w klasie usługi, która dziedziczy z ServiceBase i ma OnStart i OnStop , dodaj RunConsole metoda jak ta:

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

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

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

        OnStop();
    }

Teraz, jeśli chcesz uruchomić aplikację, aby przetestować jej funkcjonalność, po prostu uruchom EXE z -console parametr wiersza poleceń i umieść punkt przerwania w RunConsole metoda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL porównujący dwa zestawy

  2. Jak używać TimeZoneInfo w zestawie SQLCLR w SQL Server 2012?

  3. Jak zaimportować dane z pliku tekstowego rozdzielanego potokami do tabeli SQLServer?

  4. Jak mogę zoptymalizować/refaktoryzować klauzulę TSQL LIKE?

  5. Nie można otworzyć domyślnej bazy danych użytkownika. Logowanie nie powiodło się. po zainstalowaniu SQL Server Management Studio Express