2017-06-16 35 views
0

我在我的网站下创建了一个Azure Web作业,每周运行一个应用程序。如何更新azure web作业中的json文件?

我的应用程序从json文件中加载其上次运行时间,以便选择在上次执行后修改的数据。如果应用程序成功完成其作业,它将更新json文件上的值。为了更新文件我用波纹管代码:

public static void SaveConfig(Config cnf) 
    { 
     var path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "/config.json"; 
     File.WriteAllText(path, JsonConvert.SerializeObject(cnf, Formatting.Indented)); 
    } 

的问题是,在Azure的Web作业运行完美,没有错误,但预期不更新我的JSON文件。我必须注意,config.json作为web作业的一部分部署到Azure,并且我可以通过ftp或App服务编辑器在App_Data/jobs/triggered/MyApp下找到它。

+0

两件事:找到你的文件,你可以使用项目kudu {yourwebsitename} .scm.azurewebsites.net访问webapp并检查文件。此外,您只能向Web应用程序的根目录发送信息,这可能是您的文件未保存的原因。 – lopezbertoni

回答

1

WebJobs get shadow copied to运行前的临时位置,所以如果您尝试修改部署了该文件的文件,则只会修改临时文件。通常,不建议编写修改其自己文件的WebJob。如果您的目标是拥有持久数据文件,请尝试将其保存在%WEBJOBS_DATA_PATH%下,该文件将保留。