【问题标题】:Can I call console app exe from asp.net with 2 argument?我可以用 2 个参数从 asp.net 调用控制台应用程序 exe 吗?
【发布时间】:2014-11-07 10:32:15
【问题描述】:

我可以从 asp.net 网络表单调用控制台应用程序,但是如果我像下面这样一个一个地输入,一旦我从用户输入中得到第一个参数,那么他们有另一个输入,请输入另一个数字,然后用户需要输入另一个控制台应用程序中的参数。我有 2 个论点,但两者都会一一讨论。如果第一次使用单个参数,那么我可以按如下方式通过,但使用 2 我不能。这怎么可能 如果有人帮忙,那就太好了。我想同时传递这两个参数。

Asp.net 网络表单

Process p1 = new Process();
            p1.StartInfo.FileName = "ConsoleEx.exe";   // actual file name
            p1.StartInfo.Arguments = "1 ";
            p1.StartInfo.UseShellExecute = false;
            p1.StartInfo.RedirectStandardOutput = true;
            p1.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            p1.Start();
            p1.WaitForExit();
            if (p1.HasExited)
            {
                string output = p1.StandardOutput.ReadToEnd();

                lblConsoleOutput.Text = output;

                p1.Dispose();
            }

控制台应用

 static void Main(string[] args)
    {
        int num1, num2;
        int add, sub, mul;
        float div;
        Console.Write("Enter 1st number\t");
        num1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("\nEnter 2nd number\t");
        num2 = Convert.ToInt32(Console.ReadLine());}

这是图片

【问题讨论】:

  • 您控制控制台应用程序吗?它目前根本没有使用它的命令行参数,而是从控制台读取数据。虽然您可以在您的 ASP.NET 应用程序中使用它,但如果控制台应用程序只使用命令行参数会更简洁。或者,您是否可以直接在 ASP.NET 应用程序中调用 Main 方法,而不启动另一个进程?
  • 鉴于控制台在第一个参数之后没有出现返回任何信息,为什么不直接提示用户从 Web 界面 UI 输入两个参数,然后将两者都传递给控制台应用程序?
  • 嗨 Jon & Jeames 我有一个控制台应用程序,它会接受一一输入并取出您可以在上图中看到的输出。我想从 asp.net 网络表单中调用它并在网络表单上显示输出。
  • @TusharMaru 如果控制台应用程序的目的纯粹是在幕后处理数字(而你已经写好了)那么我建议你让它支持一次传递 all 数字。这将允许您通过 web 界面提示用户输入数字,但在后台一次性将所有累积的数字传递给控制台应用程序。
  • 嗨詹姆斯,这是应用程序是旧的 dos 应用程序的问题,我们没有源代码。这只是一个示例应用程序,实际应用程序在幕后具有不同的逻辑,并且是这样工作的。所以我找到了解决方案,我们可以将参数从 Web UI 传递到控制台应用程序,在该控制台应用程序中,有很多参数一一不是全部在一起。

标签: c# asp.net console-application


【解决方案1】:

重定向标准输入并通过代码流式传输值。

你可以在这里找到一个例子; http://msdn.microsoft.com/en-gb/library/system.diagnostics.processstartinfo.redirectstandardinput%28v=vs.110%29.aspx

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-12-11
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多