- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在编写一些处理日志和文件的代码时,我在 Windows 文件 io 中发现了一些令人困惑的行为。有谁知道为什么这个测试会失败并显示“无法读取文件”消息?
[TestMethod]
public void SouldAllowReads()
{
using (var file = File.Open(_path, FileMode.Create, FileAccess.Write, FileShare.Read))
{
using (var file2 = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
//works ok, doesn't throw
}
try
{
using (var file3 = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read))
{
//fails
}
}
catch (IOException)
{
Assert.Fail("cannot read file");
}
}
}
附言。 _path = Path.GetTempFileName();
编辑:
我会将第一个答案标记为正确答案,但在这个设计中有一件事困扰着我。 .NET 方法(例如 File.ReadAllText(_path))会抛出异常,这是不应该发生的。
例如,这个剪断了我的测试也会失败断言:
try
{
string text = File.ReadAllText(_path);
}
catch (IOException)
{
Assert.Fail("cannot read file");
}
最佳答案
您有 var file = open with FileAccess.Write,同时尝试使用不允许并发写访问的文件共享模式 FileShare.Read 打开 var file3 =。
关于c# - 为什么 FileShare 不能按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7132348/
我想通过 powershell 自动执行许多日常任务。我们的流程之一是在下类后对桌面进行镜像。此操作完成后,需要将图像文件从服务器硬盘移至网络驱动器。我正在编写一个应用程序作为服务在我的机器上运行,它
我需要通过 ARM 模板存储帐户 --> 文件共享 --> 已安装文件共享的容器来创建。 依赖关系是: 文件共享取决于存储帐户 容器取决于文件共享 如何获取Fileshare的ReferenceId?
下面是我用来将文件保存到 azure fileshare 的 Runbook 代码。但无法保存在子目录中。 #Set the context using the storage account nam
我在生产中有一个应用服务,我正在切换到 aks,因此我将使用文件共享作为卷。 如何将我的应用服务中的文件夹(exp 路径:/home/site/wwwroot/public)复制到我的新 Azure
当使用文件流,并将FileShare设置为None时,并假设两个用户同时访问同一功能想要读取/写入该文件。 FileShare.None 会让第二个用户的请求等待还是第二个用户的请求会抛出异常? //
在编写一些处理日志和文件的代码时,我在 Windows 文件 io 中发现了一些令人困惑的行为。有谁知道为什么这个测试会失败并显示“无法读取文件”消息? [TestMethod] public voi
我正在尝试将购买的租赁的到期时间设置为 1 分钟。这是我的代码 var shareClient = new ShareClient(connectionString, "testfileshare")
我想建立自己的平面文件数据库。这是我访问平面文件数据库的方式 Dim fs As New System.IO.FileStream("C:\MyDb.txt", IO.FileMode.Open, I
我正在使用 MySQL Docker 容器,我想在其中使用 Azure 文件共享。要创建 MySQL Docker 容器,我使用以下 Buildscript。 FROM mysql:5.7 RUN a
我正在使用 MySQL Docker 容器,我想在其中使用 Azure 文件共享。要创建 MySQL Docker 容器,我使用以下 Buildscript。 FROM mysql:5.7 RUN a
多年来,我们一直在使用以下代码。 /// /// Opens a file and returns an exclusive handle. The file is deleted
当我从 Azure DevOps 管道挂载 Azure 文件共享并通过 robocopy 将文件复制到文件共享时,每分钟 80 兆字节 (12 MBit/s) 速度非常慢:
我正在使用以下代码打开我之前在用户的 %TEMP% 文件夹中创建的用于阅读的文件: new FileStream(cacheFileName, FileMode.Open, FileAccess.Re
我看到这个问题: How can I read a file even when getting an "in use by another process" exception?在 Windows
我一直在阅读有关在 Linux Web 应用程序上安装 Azure 存储帐户文件共享的信息:https://learn.microsoft.com/en-us/azure/azure-function
我需要评估 Azure FileShare 的使用情况并使用 Fileshare 存储上传/下载文件。该应用程序的当前功能是用户可以从本地计算机上传文件,也可以从 ISS 根文件夹下载文件。 现在迁移
我正在使用下面的代码将已发布的文件保存到服务器,但该文件正在不断读取并且需要使用 FileShare.ReadWrite 所以我不会收到锁定错误。 httpRequest.Files[0].Save
我是一名优秀的程序员,十分优秀!