2011-04-19 10 views
1

Windows Azure Diagnostics로 작업하고 있습니다. 나는Windows Azure 진단 오류 :

 { 

      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의 나머지 neccesary 것들과 .cscfg 파일의 연결 문자열을 시도 Webrol.cs에 아래 코드를 추가합니다. 이제 배포 저장소를 사용하여 개발 환경에서 진단 로그를 기록 할 수 있습니다. 하지만 클라우드에서 동일한 애플리케이션을 호스팅 할 때 진단을 로깅 할 수 없습니다.

"500 - 내부 서버 오류가 발생했습니다. 찾고있는 리소스에 문제가있어서 표시 할 수 없습니다."라는 오류 메시지가 나타납니다.

네임 스페이스에 대해 로컬 복사를 true로 변경했지만 작동하지 않습니다. 응용 프로그램을 전개 환경에서 작동시키고 자합니다. 누군가이 문제를 해결할 생각이 있으면 저에게 답장하십시오.

미리 감사드립니다.

+1

클라우드에 배포 할 때 "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"값을 실제 저장소 계정에 대한 연결 문자열로 설정하고 있습니까? – knightpfhor

답변

0

"Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"에 대한 연결 문자열을 변경하지 않는 것 같습니다. 웹 역할 프로젝트 또는 서비스 구성 파일의 설정에서이를 변경할 수 있습니다. 계정 이름과 키로 설정하십시오. 일반적으로 빌드 스크립트를 사용하여이 작업을 수행하므로 프로덕션 환경으로 전환 할 때이를 변경할 수 있습니다. 게시물 here과 코드 here을 확인할 수 있습니다.