【问题标题】:Common way of accessing files访问文件的常用方法
【发布时间】:2014-04-08 14:00:22
【问题描述】:

我有以下项目:

  • 使用已部署的文件(即项目可以使用随项目部署的模板发送邮件)
  • 本地文件系统(即临时文件)

并且正在运行:

  • 本地 IIS 上的 Web 应用
  • 本地计算机上的 Windows 服务
  • Azure 上的网络角色
  • Azure 上的辅助角色

现在我已经设置了已部署和本地文件和目录的路径,但有时我必须设置绝对路径(Windows 服务),有时必须设置相对路径(Azure Web 角色)。有时很难说,路径应该如何设置。

有没有办法让一种设置路径的方式?怎么样,这适用于上述所有环境吗?

【问题讨论】:

    标签: c# visual-studio iis azure windows-services


    【解决方案1】:

    在不同环境中访问文件的方法不止一种。当您的代码以 Web/Worker 角色运行时,您的应用程序可以访问专用文件夹(本地存储)并在那里读/写文件。当您的代码在本地计算机上作为 Windows 服务运行时,您可以授予对该计算机上任何文件夹的访问权限(本地 IIS 中的 Web 应用程序也是如此)。

    我会推荐两个选项:

    1. 抽象文件系统访问并为每个环境编写具体实现。
    2. 如果可能,请使用 Blob 存储。

    【讨论】:

    • 即使在 Azure 上也有我想使用的本地文件系统。
    • 使用 Web/Worker 角色,很遗憾您无法访问本地文件系统。您唯一的选择是使用本地存储,它是本地文件系统上的指定部分。请阅读这篇博文了解更多详情:blog.codingoutloud.com/2011/06/12/….
    • 即使在这篇博文中也写到可以访问本地文件系统。我可能没有临时目录可以生活,但我需要从我的解决方案中访问其他文件(即项目中的模板)。我不想把它们放在 blob 中——这太过分了。
    猜你喜欢
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2019-06-09
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多