Как запустить несколько экземпляров приложения из Main ()? - PullRequest
0 голосов
/ 23 марта 2019

Я тестирую балансировщик нагрузки, для этого мне нужно запустить несколько HTTP-серверов. Прямо сейчас я могу запустить несколько HTTP-серверов, создав несколько проектов. Однако я хотел бы знать, возможно ли запустить несколько экземпляров приложения из одного решения.

Например, у меня есть следующий метод:

    private static void RunLocalHttpServer(int Port)
    {
        try
        {
            HttpListener HttpListener = new HttpListener();
            HttpListener.Prefixes.Add("http://localhost:" + Port.ToString() + "/");
            HttpListener.Start();
        }
        catch (WebException ex)
        {
            Console.WriteLine(ex);
        }
    }

Этот метод вызывается в основном методе моего консольного приложения, например:

    static void Main(string[] args) {
        int[] ServerPorts = {8081, 8082, 8083};
        for (int i = 0; i < ServerPorts.Length; i++) {
            RunLocalHttpServer(ServerPorts[i]);
        } 
    }

Когда я запускаю это приложение, оно открывает одну консоль с сервером, который прослушивает порт 8081. Однако я хотел бы запустить, в этом случае три отдельные консоли, где на каждой консоли будет работать сервер (по одной на порт 8081, один на 8082 и один на 8083).

Возможно ли сделать это из одного решения? Если нет, что я могу использовать в качестве альтернативы для достижения моей цели? Заранее спасибо.

1 Ответ

0 голосов
/ 23 марта 2019

Если нет, что я могу использовать в качестве альтернативы для достижения моей цели?

Вы также можете использовать netcat для прослушивания определенных портов.

...