c# - Service Fabric 应用程序拒绝访问路径

标签 c# .net azure-service-fabric

我正在开发一个服务结构无状态服务应用程序,有时我需要下载一个文件并将其保存到我的桌面文件夹中,但即使我以管理员身份运行,我也会收到错误:

Access to the path 'C:/Users/me/Desktop/filename' is denied

  using (var response = await _httpClient.SendAsync(httpRequestMessage, HttpCompletionOption.ResponseHeadersRead))
  {
       using (var streamToReadFrom = await response.Content.ReadAsStreamAsync())
       {
          var fileName = $"C:\\Users\\me\\Desktop\\{name}{DateTime.Now.ToString("yyyyMMdd")}";
               using (var streamToWriteTo = File.Create(fileName))
               {
                    await streamToReadFrom.CopyToAsync(streamToWriteTo);
               }
       }
  }

我正在测试运行本地调试集群,但当我部署它时,我想保存到网络路径。

最佳答案

如果运行任务管理器并转到“详细信息”选项卡,您将看到 Service Fabric 的进程(Fabric.exe、FabricGateway.exe 等)正在以 NETWORK SERVICE 用户身份运行,而不是您自己的用户帐户。 NETWORK SERVICE 用户无权访问您的用户个人资料。

如果不了解更多关于尝试保存文件的原因,就很难建议您可以做什么。但是,如果您的服务投入生产后您将继续这样做,那么我现在就实现您的最终解决方案。我猜这可能会保存到 Blob 存储,或者某种数据库。

关于c# - Service Fabric 应用程序拒绝访问路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40721520/

相关文章:

c# - 通过为 Resharper 创建插件,通过 C# 代码的静态分析查找设计模式?

c# - 扩展方法。找不到类型或命名空间名称 'T'

c# - LINQ 到实体 : Loading One-To-Many Navigation Properties in Strong Typed Projections

c# - 在 Windows Vista, 7, 2008 中正常关闭控制台应用程序

azure - 无法获取通过 Partition.ReportLoad 报告的指标值

c# - 如何正确地后处理 Refit 返回值?

c# - 是否有任何工具可以将所有字段转换为一组 .cs 文件中的属性?

powershell - Service Fabric/Jenkins 集成问题

c# - 外部客户端无法访问 Azure Service Fabric 上的 WCF 通信监听器

c# - 将扁平字符串映射到列表