Question

J'ai un problème du déploiement d'un WebRole (service WCF) Azure . Mon WebRole continue d'afficher Buzy pendant au moins 30 minutes, jusqu'à ce que je l'annuler. Je déploie dans Visual Studio 2010. Je cherche des informations de trace et il y a quelques blogs qui me sont pointés vers les tables de stockage appelées WADInfrastructureLogsTable et WADLogsTable.

Je l'ai mis en place les paramètres de configuration avec mon compte de stockage comme ceci:

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

Je n'ai pas du tout tableaux dans mon compte de stockage. Pas même après avoir déployé Bonjour tout le monde Appl avec succès. Mon conteneur Blob est titulaire d'un vsdeploy- et une bourre de contrôle-conteneurs, et j'ai 4 files d'attente.

Comment ces tableaux créés?

    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();
    }
Était-ce utile?

La solution

J'ai eu un problème similaire. J'ai eu l'ensemble de la période de « transfert » à 1 minute et il ne transférerait pas. Cependant, après avoir mis à jour à 5 minutes, j'ai commencé à voir les messages de trace dans le WADLogsTable. Je ne sais pas pourquoi cela a fait une différence et ont trouvé aucune documentation qui parle d'une période de transfert minimale, mais 5 minutes de travail pour moi.

Assurez-vous également que vous avez des déclarations Trace.WriteLine () approprié dans votre web / rôle des travailleurs.

Autres conseils

Avez-vous mis en place un programme de transfert de la table des journaux? Autrement dit, toute exploitation forestière se cache dans chaque cas, et vous devez demander explicitement que les données à être conservées dans le stockage de table sur une base périodique. Voici un exemple trivial pour WADLogsTable:

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

, vous devriez voir le tableau WADLogsTable apparaît après un certain temps Une fois cela mis en place.

Vous aurez besoin de mettre en place la période de transfert et le filtre pour chacun des autres types ainsi:

  • journal des événements
  • Journal de l'infrastructure Diagnostics
  • Annuaires
  • Les compteurs de performance

Soren - Si vous avez pas déjà, vous devriez probablement régénérer votre compte stockage de clé d'accès. Il est indiqué dans votre message original avec les détails de configuration.

Une autre option pour aider à diagnostiquer votre problème est IntelliTrace. Si vous utilisez Visual Studio 2010 Utimate, vous pouvez activer IntelliTrace avec votre déploiement. Cela vous permettra de télécharger les fichiers journaux IntelliTrace, et de ceux que vous pouvez voir quelques informations assez détaillées concernant le déploiement et le démarrage de votre application. Il pourrait y avoir des exceptions ou d'autres erreurs étant générées qui pourraient être à l'origine de l'état prolongé « Occupé ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top