操作超时后关闭并刷新流

时间:2016-07-18 14:56:05

标签: c# timeout filestream roslyn

我有一个写入文件的函数。该函数被视为一个字符串,并使用Roslyn Emit API动态执行(所以我不知道如何访问我可以调用close和flush方法的流对象)

using (System.IO.StreamWriter file = 
        new System.IO.StreamWriter(path))
    {
            // some code
    }

问题是有时功能最终会出现死循环。所以我设定了执行时间。

var task = Task.Run(() => execution);
        if (task.Wait(TimeSpan.FromSeconds(5)))
            return task.Result;
        else

问题如何清理死循环留下的流,因为下一轮我正在执行函数再次写入文件。它给了我“进程无法访问该文件,因为它正被另一个进程使用”。

0 个答案:

没有答案