在服务结构应用

时间:2016-11-21 13:36:44

标签: c# .net azure-service-fabric

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

  

拒绝访问路径'C:/ Users / me / Desktop / filename'

  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);
               }
       }
  }

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

1 个答案:

答案 0 :(得分:2)

如果您运行任务管理器并转到详细信息选项卡,您将看到Service Fabric的进程(Fabric.exe,FabricGateway.exe和其他进程)作为NETWORK SERVICE用户运行,而不是您自己的用户帐户。 NETWORK SERVICE用户无权访问您的用户个人资料。

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