Azure 如何获取webrole实例';使用站点管理器的域名?

Azure 如何获取webrole实例';使用站点管理器的域名?,azure,azure-web-roles,Azure,Azure Web Roles,我正在使用SiteManager获取每个实例中iis日志的文件路径,并将它们上载到blob存储 问题来了,在我的项目中,有两个版本的服务,调试版和在线版,我只能从服务实例上传iis日志。为了管理项目,我需要检查域名以判断实例是否在联机服务中,这样我就可以使用相同的代码在调试和联机服务中进行更新 现在,这是我的代码: SiteManager sm = new SiteManager(); foreach (var site in sm.Sites) { string[] logDir =

我正在使用SiteManager获取每个实例中iis日志的文件路径,并将它们上载到blob存储

问题来了,在我的项目中,有两个版本的服务,调试版和在线版,我只能从服务实例上传iis日志。为了管理项目,我需要检查域名以判断实例是否在联机服务中,这样我就可以使用相同的代码在调试和联机服务中进行更新

现在,这是我的代码:

SiteManager sm = new SiteManager();
foreach (var site in sm.Sites)
{
    string[] logDir = GetIISLogDir(site);
    foreach (string filePath in logDir)
    {
        UploadLogToStorage(filePath);
    }
}
我想我需要从可变站点获取域名,并决定是否上传日志。

您需要为此使用操作(RESTAPI)


您可以从实例中访问当前部署ID(
RoleEnvironment.DeploymentId
)。您可以在调用Get Deployment以获取有关当前部署的信息时使用此id,例如部署槽(prod/staging)、url…

Windows Azure diagnostics支持自动为您上载IIS日志。你考虑过用这个吗?如果您正在运行诊断插件,则可以远程配置。如果您只是将DM配置为在生产和开发中使用不同的存储帐户(最佳做法),那么您就可以确定哪个是哪个(部署ID无论如何都会不同)。除非您不使用PaaS模型(例如IaaS或WAWS),否则实际上不需要自己编写代码来上传日志