Skip to main content
 首页 » 编程设计

c#之从 C# Web 表单应用程序启动 NodeJS 应用程序

2024年01月31日22shangdawei

我已经构建了 MeteroJS 应用程序,我想通过 C# 代码将其作为 NodeJS 应用程序启动。

这是 Windows 窗体应用程序,用作启动和停止 NodeJS 应用程序的控制面板

我可以使用命令行手动启动 NodeJS 应用程序:(这行得通!)

set MONGO_URL=mongodb://someAdmin:password@localhost:27017/some_db 
set ROOT_URL=http://someservice:8080 
set PORT=8080 
node bundle\main.js 

我想从命令行重复上述所有操作,这次是在 C# 应用程序中。

这是在单击“开始”按钮时执行的代码:

Environment.SetEnvironmentVariable("MONGO_URL", String.Format("mongodb://{0}:{1}@localhost:27017/{2}", usernameTxt.Text, passwordTxt.Text, databaseTxt.Text), EnvironmentVariableTarget.Machine); 
Environment.SetEnvironmentVariable("ROOT_URL", String.Format("http://someservice:{0}", portTxt.Text), EnvironmentVariableTarget.Machine); 
Environment.SetEnvironmentVariable("PORT", portTxt.Text, EnvironmentVariableTarget.Machine); 
 
Process.Start("CMD.exe", @"/C node bundle\main.js"); 

我不确定这是否可能。这根本行不通并且没有留下任何日志。 你能检查一下我做错了什么并提出建议吗?

请您参考如下方法:

使用以下代码执行node.js cmd

            Process p = new Process(); 
            p.StartInfo.UseShellExecute = false; 
            p.StartInfo.RedirectStandardOutput = true; 
            p.StartInfo.RedirectStandardError = true; 
            p.StartInfo.RedirectStandardInput = true; 
            p.StartInfo.FileName = @"c:\node\node.exe";**//Path to node installed folder**** 
            string argument = "\\ bundle\main.js"; 
            p.StartInfo.Arguments = @argument; 
            p.Start();