1

我正在使用站点管理器获取每个实例中的 iis 日志文件路径,并将它们上传到 blob 存储。

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

到目前为止,这是我的代码:

SiteManager sm = new SiteManager();
foreach (var site in sm.Sites)
{
    string[] logDir = GetIISLogDir(site);
    foreach (string filePath in logDir)
    {
        UploadLogToStorage(filePath);
    }
}

我想我需要从变量站点获取域名,并决定是否上传日志。

4

2 回答 2

2

您需要为此使用Get Deployment操作(REST API)。

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

于 2012-10-29T09:30:39.623 回答
0

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

于 2012-10-30T15:00:20.710 回答