Я тестирую балансировщик нагрузки, для этого мне нужно запустить несколько 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).
Возможно ли сделать это из одного решения? Если нет, что я могу использовать в качестве альтернативы для достижения моей цели? Заранее спасибо.