我使用站点管理器在每个实例中获取iis日志的文件路径,并将它们上传到blob存储。
问题来了,在我的项目中,有两个版本的服务,一个是调试版本,一个是在线版本,我只能从服务实例上传iis日志。为了管理项目,我需要检查域名来判断实例是否在在线服务中,以便我可以使用相同的代码在调试服务和在线服务中进行更新。
到目前为止,下面是我的代码:
SiteManager sm = new SiteManager();
foreach (var site in sm.Sites)
{
string[] logDir = GetIISLogDir(site);
foreach (string filePath in logDir)
{
UploadLogToStorage(filePath);
}
}我想我需要从变量站点获取域名,并决定是否上传日志。
发布于 2012-10-29 17:30:40
您需要对此(REST API)使用Get Deployment操作。
在您的实例中,您可以访问当前部署ID (RoleEnvironment.DeploymentId)。您可以在调用Get Deployment时使用此id来获取有关当前部署的信息,如部署槽(prod/staging)、url...
发布于 2012-10-30 23:00:21
Windows Azure诊断支持自动为你上载IIS日志。你有没有考虑过用这个来代替?如果您正在运行诊断插件,则可以远程配置。如果您只是将DM配置为对生产和开发使用不同的存储帐户(最佳实践),那么您将可以毫不费力地确定哪个是哪个(部署ID无论如何都会不同)。除非你使用的不是PaaS模型(例如IaaS或WAWS),否则你真的不需要自己编写上传日志的代码。
https://stackoverflow.com/questions/13118179
复制相似问题