在第一个方法执行完成之前避免第二个方法执行?

时间:2017-12-15 09:06:51

标签: c# asp.net thread-safety

在Asp.Net中,我调用了两种方法,其中第一种方法是使用exe生成文件,第二种方法是将这些生成的文件作为输入。这里的问题是,第二个方法是在第一个方法执行完成之前调用。我该怎样避免这个?

protected void Page_Load(object sender, EventArgs e)
    {
        CallEXE();
        ProcessFiles("filepath");
    }
    private void CallEXE()
    {
        // it generates files and stored the file in shared folder.
        Process.Start("FileGenerator.Exe");

    }
    private void ProcessFiles(string filePath)
    {
        //processing files
    }   

请帮我解决这个问题。

谢谢, 列宁

1 个答案:

答案 0 :(得分:1)

您可以使用Process.WaitForExit

Process FileGenerator;

protected void Page_Load(object sender, EventArgs e)
{
    CallEXE();
    ProcessFiles("filepath");
}
private void CallEXE()
{
    // it generates files and stored the file in shared folder.
    FileGenerator = Process.Start("FileGenerator.Exe");

}
private void ProcessFiles(string filePath)
{
    FileGenerator.WaitForExit();
    //processing files
}