我有一个写入文件的函数。该函数被视为一个字符串,并使用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
问题如何清理死循环留下的流,因为下一轮我正在执行函数再次写入文件。它给了我“进程无法访问该文件,因为它正被另一个进程使用”。