如何打开一个StreamReader
用FILE_SHARE_READ
,FILE_SHARE_WRITE
,FILE_SHARE_DELETE
?
我如何打开一个StreamReader
以便我可以读取编码的文本文件,共享选项,以便另一个进程可以读取该文件?
我如何打开一个StreamReader
以便我可以读取编码的文本文件,使用共享选项,以便其他进程可以在我阅读时修改该文件?
我如何打开一个StreamReader
以便我可以读取编码的文本文件,使用共享选项,以便其他进程可以在我阅读时删除该文件?
在.NET Framework类库中有一个名为的类StreamReader
.它是唯一一个用于读取"text"的类,这就是它从抽象基TextReader
类中下降的原因.在TextReader/StreamReader
允许您指定由您试图打开该文件使用的编码,并可以为您的文件进行解码,并返回Strings
文本.
一旦我打开了一个文件StreamReader
:
var sr = new StreamReader(path);
Run Code Online (Sandbox Code Playgroud)
文件被锁定,其他进程无法修改或删除该文件.我需要的是相当于一个FileStream
类的FileShare
枚举:
除此之外,由于显而易见的原因,我不能使用FileStream
- 必须使用a StreamReader
.
我怎样才能打开一个StreamReader
用FileShare.ReadWrite | FileShare.Delete
?
azure应用程序服务ASE中有一个azure web应用程序。它链接到 Vnet。笔记本电脑/PC 之间的点对点 VPN 从外部云/本地连接到 Vnet,形成某种混合云设置。我正在尝试查看是否可以从 Web 应用程序(应用程序服务)访问该 Vnet 中的 PC/VM 中的网络文件共享/共享文件夹。当我尝试这样做时,我得到了未经授权的异常。我有什么选择?使用云服务 Web 角色而不是 Web 应用程序会有帮助吗?或者在 Vnet 中设置域控制器 + AD 并将虚拟机添加到域并尝试以域用户身份访问共享(通过代码模拟)?另外,我不确定是否通过点到站点 VPN 将我的笔记本电脑/PC 连接到此 Vnet,笔记本电脑/PC 将位于我们创建的域下。
其背后的用例是在 azure PaaS 中运行的 Web 应用程序上显示一些本地媒体(图像、视频等可能更大的尺寸)。
请分享您的想法和评论。
fileshare azure azure-vpn azure-app-service-envrmnt hybrid-cloud
如何从 Azure 文件共享中删除所有文件?由于我和网络之间的代理,Microsoft Azure 文件资源管理器也无法在 GUI 中执行此操作。
是否有任何 AZ 命令或片段可以清除 Azure 中给定的文件共享?
我正在尝试实现一个小服务器服务,以便通过Web浏览器将文件上传到我的iOS应用程序.以下应用程序中实现了此功能的一个示例:
http://itunes.apple.com/uy/app/files-document-reader/id294150896?mt=8
似乎很简单,但不知道从哪里开始.我一直在寻找关于这种实现的线索或一些示例代码没有成功,但可能只是不知道如何正确地谷歌问题.
任何线索,指南,链接等......?
提前致谢
我想通过PowerShell自动完成我的许多日常任务.我们的一个过程是在下班后对台式机进行成像.完成此操作后,需要将映像文件从服务器硬盘驱动器移至网络驱动器.我正在编写一个应用程序,在我的机器上作为服务运行,它将调用powershell脚本并将所有内容敲除,只在出现问题时提醒我.
我在服务器上为脚本设置了一个目录.如果我从服务器调用我的脚本FileCopy.ps1,它可以正常工作:
copy-item C:\scripts\myFile1.txt -destination C:\scripts\myFile2.txt
Run Code Online (Sandbox Code Playgroud)
但是,在我的.Net应用程序中,我从本地计算机调用脚本:
RunScript(LoadScript(@"\\Server\ServerShare\FileCopy.ps1"));
Run Code Online (Sandbox Code Playgroud)
不行.那是因为它将C:\ scripts看作是在本地机器上.所以,我改变它:
copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
Run Code Online (Sandbox Code Playgroud)
不行.我在脚本中添加了另一行:
copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
get-childitem \\Server\ServerShare | format-table name
Run Code Online (Sandbox Code Playgroud)
它仍然不复制文件,但它确实返回服务器上scripts目录的内容.
所以我回到服务器并运行带有UNC路径的脚本 - powershell返回错误
Copy-Item : Access to the path '\\Server\ServerPath\myFile2.txt' is denied.
Run Code Online (Sandbox Code Playgroud)
这似乎是问题的根源.知道如何解决这个问题吗?我以管理员身份登录服务器.
我正在参与一个项目,从 Azure 文件存储帐户下载文档 (.pdf) 的能力将非常有用。这可能吗?我目前只能将目录和目录的文件内容路径输出为字符串,但无法使用 Microsoft.Azure 命名空间访问这些路径上的文件。
其他详细信息:在 C#/ASP.NET 中,部署为 Azure Web 应用程序
谢谢。
C
我正在使用C#的十六进制编辑器控件,可以在这里找到源代码和二进制文件.
使用它时的一个问题是,如果在十六进制编辑器和另一个程序中加载了文件,则另一个程序无法保存该文件,因为它已被另一个进程使用.
所以我问控件的作者谁告诉我在FileByteProvider和DynamicFileByteProvider类的File.Open方法中将FileShare参数设置为ReadWrite(它最初只是Read)会修复它.所以我这样做了,但它仍然无效(同样的错误).将其设置为"仅写入"也不起作用,但将其设置为"只读"和"无"都有效.这些文件在任何程序中都有相同的问题,例如记事本.它们没有设置为ReadOnly或任何东西,所以我不知道为什么它不起作用.
这里有什么我想念的吗?
我需要能够在尝试在非域环境中的远程计算机上读取和写入文件时以编程方式进行身份验证.
当您在Windows RUN提示符中键入类似于\\ targetComputer\C $\targetFolder或\\ targetComputer\admin $的命令时,如果targetComputer不在域中,则系统将提示您输入用户名和密码.输入用户名和密码后,您就可以完全访问远程文件夹.
如何在C#中以编程方式完成此身份验证?
我试过了..
--Impersonation,但它似乎只在域环境中工作.
--CMDKEY.exe,但它似乎也只适用于域环境.
必须有一种方法可以做到这一点,但到目前为止,我一直没有运气地搜索高低.也许我只是在寻找错误的东西?我敢肯定我不是第一个有这个问题的人.任何帮助将不胜感激.
谢谢!
编辑:
我想我刚刚发现了一个不同的SO帖子来回答我的问题: 从具有凭据的远程非受信任域访问共享文件(UNC)
我现在将继续使用它,看看它在哪里.
谢谢!
我正在寻找一个工具或用法示例来生成和查看Azure Block Blob和Azure文件共享的SAS(共享访问签名).块Blob和容器有很多示例,但Azure文件共享SAS示例或工具呢?
我正在尝试使用库 Azure.Storage.Files.Shares 将文件上传到 Azure 文件共享。
如果我不分块文件(通过进行单个 UploadRange 调用),它工作正常,但对于超过 4Mb 的文件,我无法使分块工作。下载时文件大小相同,但不会在查看器中打开。
我无法在大文件上设置较小的 HttpRange,因为我收到“请求正文太大”错误,因此我将文件流拆分为多个迷你流并上传每个流的整个 HttpRange
ShareClient share = new ShareClient(Common.Settings.AppSettings.AzureStorageConnectionString, ShareName());
ShareDirectoryClient directory = share.GetDirectoryClient(directoryName);
ShareFileClient file = directory.GetFileClient(fileKey);
using(FileStream stream = fileInfo.OpenRead())
{
file.Create(stream.Length);
//file.UploadRange(new HttpRange(0, stream.Length), stream);
int blockSize = 128 * 1024;
BinaryReader reader = new BinaryReader(stream);
while(true)
{
byte[] buffer = reader.ReadBytes(blockSize);
if (buffer.Length == 0)
break;
MemoryStream uploadChunk = new MemoryStream();
uploadChunk.Write(buffer, 0, buffer.Length);
uploadChunk.Position = 0;
file.UploadRange(new HttpRange(0, uploadChunk.Length), uploadChunk);
}
reader.Close();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码上传没有错误,但是从 Azure 下载图像时它已损坏。 …
最近,我尝试使用WMI创建共享,并为用户提供读写权限.现在使用0x1(FILE_READ_DATA/FILE_LIST_DIRECTORY)和0x2(FILE_WRITE_DATA/FILE_ADD_FILE)不起作用.设置所有标志给了我完全控制.
我必须使用哪些标志来分别设置读取,更改和完全控制共享权限?
fileshare ×12
azure ×5
c# ×4
windows ×2
asp.net ×1
azure-cli ×1
azure-files ×1
azure-vpn ×1
expo ×1
file ×1
hybrid-cloud ×1
ios ×1
iphone ×1
objective-c ×1
permissions ×1
react-native ×1
sharing ×1
streamreader ×1
textreader ×1
wmi ×1
workgroup ×1