Azure:如何在webrole上为每个站点条目执行启动任务?

时间:2012-02-08 08:07:12

标签: azure webrole

我们有WebRole,托管多个网站。我们使用一些特定于站点的操作为每个站点创建启动任务。问题是只能在部署期间运行第一个站点(部分中列出的第一个站点)的启动任务。

看起来这种情况会发生,因为只有第一个站点(或来自Web角色定义的站点)将被复制到WebRole实例的[drive]:\ approot文件夹中。所有其他网站将被复制到[drive]:\ sites \(早期它是另一个位置,因此它可能是未来更改的主题)。

有没有简单的方法为[drive]中的每个站点运行批处理文件:\ sites \?

是否有任何具有RoleEnvironment对象或xPath值的技巧(例如此处http://msdn.microsoft.com/en-us/library/windowsazure/hh404006.aspx)可以提供准确放置其他网站的路径?

ATM我们有2个选项,都是hacky和unstable,imo: 1.从IIS配置中读取数据并将其用作主要启动任务输入 2.Scan / sites /用于明确命名的脚本,如果找到则执行它。

1 个答案:

答案 0 :(得分:1)

Startup Task适用于角色,而不适用于网站。您必须使用RoleEntryPoint后代找到出路并利用其OnStart方法手动运行每个站点的启动任务。

至于查找网站目录,请查看this question,因为答案完全涵盖了任务。我使用它,它是100%可靠的生产。