Frage

Ich habe ein Problem, ein WebRole (WCF-Service) bereitstellen zu Azure . Mein WebRole hält buzy für mindestens 30 Minuten zeigt, bis ich es abbrechen. Ich bereitstellen durch Visual Studio 2010. Ich bin für einige Trace-Informationen suchen und es gibt ein paar Blogs, die mich in Richtung Speichertabellen genannt WADInfrastructureLogsTable und WADLogsTable hingewiesen haben.

Ich habe die Konfigurationseinstellungen mit meinem Speicherkonto wie folgt aufgebaut:

 <ConfigurationSettings>
  <Setting name="DiagnosticsConnectionString"
    value="DefaultEndpointsProtocol=https;AccountName=sandsofttestservice;AccountKey=HgPjkzx+mjqgoDTO8SBNB3B4hdARuibWTOHrXg4BpxRKJfRZ/s4abVIoD5lOIW0LkoD0CoMb0i0GiTXA483MDQ==" />
</ConfigurationSettings>

Ich habe keine Tabellen überhaupt in meinem Speicherkonto. Nicht einmal, nachdem ich bereitgestellt habe Hallo Welt apps erfolgreich. Mein Blob Behälter enthält eine vsdeploy- und einen Bündel-control-Container, und ich habe 4 Warteschlangen.

Wie werden diese Tabellen erstellt werden?

    public override bool OnStart()
    {
        var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
        dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
        dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
        DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);

        Trace.WriteLine("OnStart");
        // For information on handling configuration changes
        // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
        RoleEnvironment.Changing += RoleEnvironmentChanging;

        return base.OnStart();
    }
War es hilfreich?

Lösung

Ich hatte ein ähnliches Problem. Ich hatte die ‚Übertragung‘ gesetzte Frist auf 1 Minute und es wäre nicht zu übertragen. Aber nachdem ich es bis zu 5 Minuten aktualisiert, begann ich Trace-Meldungen in der WADLogsTable sehen. Nicht sicher, warum das einen Unterschied gemacht und hat festgestellt, keine Dokumentation, dass Gespräche über eine Mindesttransferperiode, aber 5 Minuten für mich gearbeitet.

Auch stellen Sie sicher, dass Sie über die entsprechenden Trace.WriteLine haben () Aussagen in Ihrem Web / Arbeiter Rolle.

Andere Tipps

Haben legen Sie einen Transfer Zeitplan für die Protokolle Tisch? Das heißt, wird alle Protokollierung in jeder Instanz zwischengespeichert, und Sie müssen ausdrücklich verlangen, dass die Daten in Tabellenspeicher auf einer periodischen Basis beibehalten werden. Hier ist ein einfaches Beispiel für WADLogsTable:

        var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
        dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
        dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
        DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);

Sobald dies festgelegt ist, sollten Sie die WADLogsTable Tabelle nach einer Weile erscheinen sehen.

Sie müssen die Transferperiode und Filter für jede der anderen Typen einzurichten auch:

  • Ereignisprotokoll
  • Diagnose Infrastruktur log
  • Verzeichnisse
  • Leistungsindikatoren

Soren - Wenn Sie nicht bereits haben, sollten Sie wahrscheinlich Ihre Speicherkonto Zugriffsschlüssel regenerieren. Es ist in Ihrer ursprünglichen Post mit Ihren Konfigurationsdetails aufgelistet.

Eine weitere Möglichkeit, um Hilfe zu diagnostizieren Ihr Problem ist IntelliTrace. Wenn Sie Visual Studio 2010 Utimate verwenden, können Sie IntelliTrace mit der Bereitstellung ermöglichen. So können Sie die IntelliTrace von Log-Dateien und von denen können Sie einige ziemlich detaillierte Informationen im Zusammenhang mit der Bereitstellung und Inbetriebnahme Ihrer Anwendung. Es könnte einige Ausnahmen oder andere Fehler sein erzeugt werden, das könnte den verlängerten „Busy“ Zustand verursachen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top