【发布时间】:2020-06-10 17:15:48
【问题描述】:
Async 和 await 运算符是在 C# 5 和 .NET Framework 4.5 中引入的。
我的问题是,为了使用异步,我需要 .NET Framework 4.5 或更高版本,但我希望能够在以前的 .NET Framework 版本上执行相同的操作(异步写入 FileStream)。
目前我有一个带有事件处理程序的静态观察者类。此事件处理程序与每次创建某个类时都会调用的事件相关联。该事件将调用以下函数:
static async void FileWriter(string path, string fileName, byte[] text)
{
byte[] encodedText = Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(437), text);
using (FileStream sourceStream = new FileStream(Path.Combine(path, fileName),
FileMode.Append, FileAccess.Write, FileShare.None,
bufferSize: 4096, useAsync: true))
{
await sourceStream.WriteAsync(encodedText, 0, encodedText.Length);
};
}
是否有任何替代方法可以使其适用于较旧的 .NET Framework 版本?
【问题讨论】: