如何从webjob或辅助角色将文件写入Azure网站文件夹

时间:2017-07-06 16:56:27

标签: c# azure-webjobs azure-worker-roles azure-webjobssdk

我需要将XML文件写入站点根目录下的Azure网站文件夹,并从网站的Azure SQL DB中提取数据。这将在经常性的基础上完成。

我编写了一个worker角色来提取数据并写入文件,但是,它使用下面的代码写入worker角色文件夹结构中的文件夹。我不确定如何指定和访问Web文件夹路径。

XmlTextWriter xml = new XmlTextWriter(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "feed.xml"), Encoding.UTF8);

辅助角色和网站都在同一个VS项目中,并部署到Azure。

由于网站和辅助角色都在各自的VM实例中,因此WR无法访问网站 - 我不完全确定,并且非常感谢任何指导。

webjob会更适合这个吗?它可以连接到Azure数据库,并写入站点根目录中的文件夹吗?感谢任何代码示例。

1 个答案:

答案 0 :(得分:0)

您不想写任何单一位置,因为运行您网站的服务器相当空灵,可以随时脱机并更换。

您应该考虑让您的作业生成文件并将其写入Blob存储并让您的网站读取并提供相同的文件。设置站点以将文件路径视为常规非静态路由(这将使您保留路径$(document).on('pageinit', '#two', function () { var url="http://localhost/budget/items_list.php"; $.getJSON(url,function(result){ console.log(result); $.each(result, function(i, field){ var budgeted_id=field.budgeted_id; var name=field.name; var budget_amount=field.budget_amount; var trans_amount=field.trans_amount; var balance=field.balance; $("#listview").append('<li data-icon="delete"><a href="#">'+name+'<span class="ui-li-count">Bal: $'+balance+'</span></a><a class="del" id="'+budgeted_id+'" href="#"></a></li>').listview("refresh"); }); }); $(document).on("click",'.del',function(){ $("#listview").empty(); budgeted_id = (this.id); $.post('delete_item.php',{postbudgeted_id:budgeted_id}); var url="http://localhost/budget/items_list.php"; $.getJSON(url,function(result){ console.log(result); $.each(result, function(i, field){ var budgeted_id=field.budgeted_id; var name=field.name; var budget_amount=field.budget_amount; var trans_amount=field.trans_amount; var balance=field.balance; $("#listview").append('<li data-icon="delete"><a href="#">'+name+'<span class="ui-li-count">Bal: $'+balance+'</span></a><a class="del" id="'+budgeted_id+'" href="#"></a></li>').listview("refresh"); }) }) }); ),并且Action可以从blob存储中读取XML文件并将其作为响应提供