当我从服务总线队列收到新消息时,我需要在 Service Fabric 服务中使用 ffmpeg 对视频进行编码。我可以从资源中提取 ffmpeg.exe 并运行它,但我可以将输入/输出视频文件保存在内部文件系统中吗?
我通过以下代码在本地集群上进行了测试:
protected override async Task RunAsync(CancellationToken cancellationToken)
{
while (true)
{
cancellationToken.ThrowIfCancellationRequested();
string filename = "testFile.txt";
File.AppendAllText(filename, "test. ");
string content = File.ReadAllText(filename);
System.Diagnostics.Trace.WriteLine("Content:" + content);
System.Diagnostics.Trace.WriteLine(new FileInfo(filename).FullName);
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
}
}
结果输出为:
Content:test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
Content:test. test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
Content:test. test. test.
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt
但下次运行时路径已更改为 C:\SfDevCluster\Data_App_Node_3\SampleAppType_App52\work\testFile.txt。
所以我想答案是:
可以使用本地文件系统,但仅限临时文件。我认为在迭代结束时清理系统是一个很好的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)