c# - 如何从 Main() 启动应用程序的多个实例?
问题描述
我正在测试一个负载均衡器,为此我需要运行多个 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 上)。
是否可以从一种解决方案中做到这一点?如果没有,我可以用什么来替代实现我的目标?提前致谢。
解决方案
如果没有,我可以用什么来替代实现我的目标?
您也可以使用netcat来侦听某些端口。
推荐阅读
- java - java.util.Timer 之后释放资源的最佳方式是什么?
- amazon-cloudformation - 如何使用 AWS CDK 以幂等方式创建 kubernetes 命名空间
- arrays - 获取不同 ID 数组中日期之间的天数
- r - 查找第一行,之后 x 行满足 R 中的某些标准
- xamarin.forms - 它没有检测到我的网络摄像头 xamarin 社区工具
- snowflake-cloud-data-platform - Snowlfake JSON 键值更改,需要 SQL
- struct - 为什么 NamedTuples 和(不可变的)结构是分开的?
- datetime - 需要帮助在 Ansible 中转换日期时间字符串
- rust - 学习 rust 在声明 None 时出现编译错误
- angular - 角度视图封装不适用于某些组件