【问题标题】:Azure WebJob DWASFiles access deniedAzure WebJob DWASFiles 访问被拒绝
【发布时间】:2014-12-07 17:38:07
【问题描述】:

我有 2 个 Azure 网站正在运行(Live 和 Staging),每个网站都有一个连续的 WebJob,用于处理上传到该站点的文档。 几个星期以来,实时站点上没有添加/更改任何内容。所以这个问题完全出乎意料。

在 WebJob 中,我们从 App_Data 为网站读取文件,对其进行分析并将其存储到数据库中。不会发生额外的文件写入。在上周的某个时间,WebJobs 开始失败:

未处理的异常:System.UnauthorizedAccessException:访问 路径 'C:\DWASFiles\Sites' 被拒绝。

我看不到其他人最近遇到过类似问题。所以我有点难过!

我的解决方案 因为我找不到任何资源来描述在 Azure 中做什么或发生了什么变化。我走了一条不同的路线,将 WebJob 逻辑提取到 Hangfire 任务中。 (hangfire.io - 一个出色的任务运行器)

不确定这是否对其他人有帮助。但它解决了我的问题。

【问题讨论】:

  • 由于您实际上无权访问C:\DWASFiles\Sites,因此您的网络作业中的某些内容可能已更改..
  • 现场网站的网络工作没有任何变化,这是非常奇怪的一点!

标签: c# azure azure-web-app-service azure-webjobs


【解决方案1】:

尝试使用 D:\home\site\wwwroot\ 指向您的 wwwroot 目录。 Azure 网站重新映射要与 D:\Home 一起使用的根目录

【讨论】:

  • Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath);找到WebJob本地运行目录的正确方法是什么?还是唯一的选择可能是对路径进行硬编码?
  • @BenFord 您可以使用 %HOME% 环境变量。这会将您带到主文件夹,然后您可以导航到相对于它的 site\wwwroot。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-25
  • 2017-05-17
  • 2015-11-23
相关资源
最近更新 更多