Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以用2参数从asp.net调用console app exe吗?_C#_Asp.net_Console Application - Fatal编程技术网

C# 我可以用2参数从asp.net调用console app exe吗?

C# 我可以用2参数从asp.net调用console app exe吗?,c#,asp.net,console-application,C#,Asp.net,Console Application,我可以从asp.net web表单调用console应用程序,但如果我已按如下方式逐个输入,一旦我从用户输入中获得第一个参数,则他们有另一个输入,请输入另一个数字,然后用户需要在console应用程序中输入另一个参数。我有两个论点,但两个论点都会一一接受。若第一次只有一个参数,那个么我可以按如下方式通过,但有2个参数我就不能通过。如果有人帮忙,这怎么可能呢?那就好了。我想通过这两个论点 Asp.net web表单 控制台应用程序 以下是图像重定向标准输入并通过代码流式传输值 你可以在这里找到一个

我可以从asp.net web表单调用console应用程序,但如果我已按如下方式逐个输入,一旦我从用户输入中获得第一个参数,则他们有另一个输入,请输入另一个数字,然后用户需要在console应用程序中输入另一个参数。我有两个论点,但两个论点都会一一接受。若第一次只有一个参数,那个么我可以按如下方式通过,但有2个参数我就不能通过。如果有人帮忙,这怎么可能呢?那就好了。我想通过这两个论点

Asp.net web表单 控制台应用程序
以下是图像

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


你可以在这里找到一个例子

你控制控制台应用程序吗?它目前根本不使用命令行参数,而是从控制台读取数据。虽然您可以在ASP.NET应用程序中使用这些参数,但如果控制台应用程序只使用命令行参数,则会更加简洁。或者,您可以直接在ASP.NET应用程序中调用
Main
方法,而不是启动另一个进程?鉴于控制台在第一个参数后似乎没有返回任何信息,为什么不直接提示用户从web界面UI输入两个参数,然后将这两个参数传递到控制台应用程序?Hi Jon&Jeames我有一个控制台应用程序,它将逐个输入并输出,如上图所示。我想从asp.net web窗体调用它,并显示out-put-on-web窗体。@TusharMaru我不明白为什么控制台应用程序需要按1-1取参数,如果控制台应用程序的目的纯粹是在幕后进行数字运算(您已经编写了),那么我建议您让它支持同时传递所有数字。这将允许您通过web界面提示用户输入数字,但在后台,您可以一次性将所有累积的数字传递到控制台应用程序。嗨,詹姆斯,这就是问题所在,该应用程序是旧的dos应用程序,我们没有源代码。这只是一个示例应用程序,实际应用程序在场景背后有不同的逻辑,并且是这样工作的。因此,我正在寻找一种解决方案,我们可以将参数从web UI传递到控制台应用程序。控制台应用程序中有很多参数,但这些参数并不都在一起。我建议您将链接更改为指向。
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());}