让我先解释一下我要做什么;我制作了一个 wpf 应用程序来安装和(在某种程度上)管理 Windows 服务。这些服务也是用 c# 编写的,并尝试启动第三方服务器。
wpf 应用程序运行良好,通过新安装的 windows 服务启动服务器也运行良好。现在问题来了;尽管一切似乎都运行良好,但第三方服务器似乎无法访问互联网。
我使用 process.start 启动进程,如下所示:
serverProcess = new Process();
ProcessStartInfo pi = new ProcessStartInfo();
pi.FileName = args[1]; //exe
pi.Arguments = args[2]; //start params
pi.UseShellExecute = false;
pi.CreateNoWindow = true;
pi.ErrorDialog = false;
pi.RedirectStandardOutput = true;
pi.RedirectStandardError = true;
pi.RedirectStandardInput = true;
pi.WindowStyle = ProcessWindowStyle.Hidden;
serverProcess.StartInfo = pi;
serverProcess.Exited += new EventHandler(serverProcess_Exited);
serverProcess.Start();
由于这在会话 0 中运行,我不希望它创建一个 gui。我使用我的管理应用程序读取标准输出,从中我可以推断出服务器实际上正在运行。但是,当尝试连接到它(使用 localhost)时,它甚至找不到服务器。
任何帮助将不胜感激!
编辑
我卡住的地方,或者更确切地说是服务器卡住的地方,是它需要连接到 MasterServer 的地方。它只是无限期地挂在那里,我不知道为什么。