1

サイト マネージャーを使用して、各インスタンスの iis ログのファイル パスを取得し、それらを BLOB ストレージにアップロードしています。

ここで問題が発生します。私のプロジェクトには、デバッグ用とオンライン用の 2 つのバージョンのサービスがあり、サービス インスタンスからのみ 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 を呼び出して、デプロイ スロット (製品/ステージング)、URL などの現在のデプロイに関する情報を取得するときに、この ID を使用できます。

于 2012-10-29T09:30:39.623 に答える
0

Windows Azure Diagnostics は、IIS ログの自動アップロードをサポートしています。代わりにこれを使用することを検討しましたか? 診断プラグインを実行している場合は、リモートで構成できます。本番用と開発用に異なるストレージ アカウントを使用するように DM を構成するだけであれば (ベスト プラクティス)、どちらがどちらであるかを判断するのに問題はありません (デプロイ ID はいずれにしても異なります)。PaaS モデル (IaaS や WAWS など) を使用していない限り、ログをアップロードするためのコードを自分で記述する必要はありません。

于 2012-10-30T15:00:20.710 に答える