运行 ngrok 控制台应用程序作为来自 C# 的进程不起作用
Running ngrok console application as a process from C# does not work
亲爱的 Stack Overflow 社区,
我正在尝试使用 C# 与 Ngrok 控制台进行通信。不幸的是,“StartInfo.Arguments”不起作用。例如,如果我在c#代码中写"StartInfo.Arguments =" ngrok",则不会出现ngrok的帮助文本,但是会出现"错误:无法识别的命令:ngrok"日志。但是如果我自己打开控制台并写入“ngrok”就可以了。
private void startServer()
Process compiler = new Process();
compiler.StartInfo.FileName = "ngrok.exe";
compiler.StartInfo.Arguments = "\"ngrok\"";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
compiler.WaitForExit();
}
您正在使用“ngrok”作为参数。这与您在控制台中写入 ngrok.exe ngrok
相同。 ngrok 无法识别该命令。尝试使用适当的参数,例如 compiler.StartInfo.Arguments = "http 80";
或将其留空。如果你想通过 http 使用端口 80 的 ngrok,你的代码必须如下所示:
private void startServer()
Process compiler = new Process();
compiler.StartInfo.FileName = "ngrok.exe";
compiler.StartInfo.Arguments = "http 80";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
compiler.WaitForExit();
}
亲爱的 Stack Overflow 社区,
我正在尝试使用 C# 与 Ngrok 控制台进行通信。不幸的是,“StartInfo.Arguments”不起作用。例如,如果我在c#代码中写"StartInfo.Arguments =" ngrok",则不会出现ngrok的帮助文本,但是会出现"错误:无法识别的命令:ngrok"日志。但是如果我自己打开控制台并写入“ngrok”就可以了。
private void startServer()
Process compiler = new Process();
compiler.StartInfo.FileName = "ngrok.exe";
compiler.StartInfo.Arguments = "\"ngrok\"";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
compiler.WaitForExit();
}
您正在使用“ngrok”作为参数。这与您在控制台中写入 ngrok.exe ngrok
相同。 ngrok 无法识别该命令。尝试使用适当的参数,例如 compiler.StartInfo.Arguments = "http 80";
或将其留空。如果你想通过 http 使用端口 80 的 ngrok,你的代码必须如下所示:
private void startServer()
Process compiler = new Process();
compiler.StartInfo.FileName = "ngrok.exe";
compiler.StartInfo.Arguments = "http 80";
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
compiler.WaitForExit();
}