我有一个在Azure App Services上运行的网站。它有一个随部署的WebJob,因此一旦部署就会被放入它的App_data文件夹中。
如果我在部署后FTP到我网站的wwwroot / app_data文件夹,则app.config文件没有我在Azure门户中的“应用程序设置刀片”中设置的配置设置。我的web.config中的设置已更改为网站。
最奇怪的是,当我运行WebJob时,日志输出表明正在使用正确的设置!!
根据我的标题,WebJob是否在部署后使用App.Settings文件,或者是否使用来自azure门户的应用程序设置的某种内存副本,或者它是否使用了Web中的内容.config的网站?
为了预先提出一个问题,我知道app.settings已重命名为myappname.exe.config
答案 0 :(得分:15)
以下是它的工作原理:
答案 1 :(得分:1)
Mark Seeman详细阐述了这一点:
据我所知,它尝试按此优先顺序读取配置设置:
1.尝试在网站>在线配置中找到配置值(见下文)。
2.尝试在.cscfg文件中找到配置值。
3.尝试在app.config文件或web.config文件中找到配置值。
(阅读整个调查:http://blog.ploeh.dk/2014/05/16/configuring-azure-web-jobs/)
答案 2 :(得分:1)
David Ebbo回答是完全正确的。
只是想声明您还可以通过在settings.job中使用参数来运行Web作业:
{
"is_in_place": true
}
详细信息可以在Kudu文档中找到:
https://github.com/projectkudu/kudu/wiki/WebJobs#webjob-working-directory