从Web应用程序调用时,在c#中调用控制台应用程序的主程序两​​次

时间:2012-06-28 07:12:12

标签: c# console

我有控制台应用程序和Web应用程序。 我正在从像这样的网络应用程序调用控制台的主程序

网络

 public void RunconsoleApplication(string CanpaignId) {
        // Get the file path of your Application (exe)
        string filePath = @"E:/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe";

        System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(filePath, CanpaignId);

        System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);
        p.Start();
    }

控制台

Class program {
    static void Main(string[] args) {
        Console.WriteLine("start without arg");
        if (args.Length > 0) {  
            Program p = new Program();
            // This is another function in the class, not copied here
            p.CreateCanpaign(Convert.ToInt64(args[0]));                

            Console.WriteLine("stop");             
        } 
    }
}

现在有人可以解释为什么这个功能' CreateCanpaign(a)'被叫两次。我是控制台应用程序的新手。提前致谢。

1 个答案:

答案 0 :(得分:3)

由于这两行,你开始两次

System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);
p.Start();

删除p.Start();