1

Windows Azure Diagnostics を使用しています。以下のコードを Webrol.cs に追加します。

試す

        {

            string wadConnectionString = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString";

            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));



            RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = storageAccount.CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId, RoleEnvironment.CurrentRoleInstance.Role.Name, RoleEnvironment.CurrentRoleInstance.Id);

            DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();



            //Windows Azure logs

            config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);

            config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;



            //IIS 7.0 logs

            config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);



            ////Failed Request logs

            config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);



            //Windows Event logs

            // config.WindowsEventLog.DataSources.Add("System!*");

            config.WindowsEventLog.DataSources.Add("Application!*");

            config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);



            ////Crash dumps

            CrashDumps.EnableCollection(true);





            //update the config with changes

            roleInstanceDiagnosticManager.SetCurrentConfiguration(config);

        }

        catch (Exception ee)

        {

            System.Diagnostics.Trace.TraceWarning("Diagnostics failed");



        }

Web.config の残りの必要なものと .cscfg ファイルの接続文字列。これで、Deployment Storage を使用して開発環境から Diagnostics をログに記録できるようになりました。しかし、クラウドで同じアプリケーションをホストすると、診断をログに記録できません。次のようなエラーが表示されます

「500 - 内部サーバー エラーです。お探しのリソースに問題があり、表示できません。」

名前空間の Copy local を true に変更してみましたが、うまくいきません。アプリケーションをデプロイメント環境で動作させたい。誰かがこれを解決するアイデアを持っている場合は、私に返信してください。

前もって感謝します。

4

1 に答える 1

0

問題は、「Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString」の接続文字列を変更していないようです。これは、Web ロール プロジェクトまたはサービス構成ファイルの設定で変更できます。アカウント名とキーに設定します。通常、ビルド スクリプトを使用してこれを行うので、本番環境にプッシュするときにこれを変更できます。投稿はこちらから、コードはこちらからご覧いただけます

于 2011-05-05T02:47:12.120 に答える