如何从Main()启动应用程序的多个实例?

时间:2019-03-23 15:45:53

标签: c# console-application

我正在测试负载均衡器,为此,我需要运行多个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);
        }
    }

此方法在控制台应用程序的main方法中被调用,如下所示:

    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 :(得分:0)

  

如果没有,我可以用什么替代方法来实现自己的目标?

您也可以使用netcat侦听某些端口。