c# - 如何覆盖 System.IO.Stream .OpenRead() 上的超时值:获取 ReadTimeout 引发了“System.InvalidOperationException”类型的异常
问题描述
我正在尝试将 Azure 云文件转换为流:
System.IO.Stream stream = cloudFile.OpenRead();
该行引发此错误:
ReadTimeout = 'stream.ReadTimeout' 引发了“System.InvalidOperationException”类型的异常
如果我正确阅读本文档([Stream.ReadTimeout Property][1]),看起来我应该能够覆盖默认超时值,但我不知道如何做到这一点。我一直在这里查看很多关于此的其他线程:
...仅举几例。但到目前为止,我还没有在其中任何一个中找到解决方案。
注意:我读过的一些线程说这个错误只会在调试时发生在 VS 中。但是,当此 Azure Function 应用程序发布到 Azure 并在生产中执行时,我们在完全相同的行上得到完全相同的错误。
我的问题是:如何将超时值设置为OpenRead()
比默认值更长的时间?(或者……我看错了吗?)
解决方案
我认为您需要在 blob 的 OpenRead 中应用超时,如下所示
cloudFile.OpenRead(null, new BlobRequestOptions() {
ServerTimeout = TimeSpan.MaxValue,
RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(5), 4), MaximumExecutionTime = TimeSpan.FromHours(3)
});
推荐阅读
- python - 如何使用 python 自动给出正在运行的 linux 程序命令?
- javascript - 如何在不丢失任何数据的情况下防止双重表单提交?
- javascript - 用于操作 Facebook 图像的 Javascript 代码在控制台中有效,但在扩展中无效
- checkmarx - 使用 Checkmarx 扫描硬编码密码
- python - Python + JIRA API:按电子邮件地址将用户添加到组
- reactjs - 翻译成反应节点
- android - React Native gradlew bundleRelease 和 run-android --variant=release 制作不同的 APK
- python - 是否可以使用 float16 使用 tensorflow 1 进行训练?
- reactjs - Fetch-mock 在版本 3.2.0 redux-api-middleware 测试中不起作用
- php - 将第一级子目录重写为根目录传递文件夹名称.htaccess