2011-02-14 8 views
7

Estoy intentando probar el monitor de diagnóstico de Azue en una solución en la nube con una sola aplicación asp.net.No puedo iniciar el Monitor de diagnóstico de Azure

consigo una excepción cada vez que intenta iniciar el diagnóstico del monitor:

 CloudStorageAccount account = CloudStorageAccount.Parse("UseDevelopmentStorage=true"); 

     Write(account.TableEndpoint.AbsoluteUri); 

     // Get default initial configuration. 
     var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

     config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined; 
     config.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5); 

     // Start the diagnostic monitor with the modified configuration. 
     DiagnosticMonitor.Start(account, config); // Exception 

La excepción dice:

System.ArgumentException was unhandled by user code 
    Message=Directory C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest\bin\Debug\CloudDebuggingTest.csx\roles\CloudDebuggingTest.Web\diagnostics\x64\monitor does not exist. 
    Source=Microsoft.WindowsAzure.Diagnostics 
    StackTrace: 
     at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.ValidateStartupInfo(DiagnosticMonitorStartupInfo startupInfo) in :line 0 
     at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.StartWithExplicitConfiguration(DiagnosticMonitorStartupInfo startupInfo, DiagnosticMonitorConfiguration initialConfiguration) in :line 0 
     at Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.Start(CloudStorageAccount storageAccount, DiagnosticMonitorConfiguration initialConfiguration) in :line 0 
     at CloudDebuggingTest.Web._Default.StartDiagnostics() in C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest.Web\Default.aspx.cs:line 48 
     at CloudDebuggingTest.Web._Default.Page_Load(Object sender, EventArgs e) in C:\Users\Me\Documents\Visual Studio 2010\Projects\CloudDebuggingTest\CloudDebuggingTest.Web\Default.aspx.cs:line 19 
     at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) 
     at System.Web.UI.Control.LoadRecursive() 
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    InnerException: 

no tengo ni idea de lo que me estoy perdiendo, he estado revisando algunos enlaces y hacen exactamente esto. ¿Alguna idea?

Saludos.

Respuesta

9

Esto tiene que estar bromeando: |

El problema es que el camino es demasiado largo, moví el proyecto para D:\ y entonces está trabajando bien @. @

he encontrado la solución por casualidad, cuando me paso en un artículo hablando de limitaciones en la ruta longitud.

http://markegilbert.wordpress.com/2010/11/05/i-just-hit-my-head-on-a-cloud-microsoft-azure-and-full-path-limits/

me golpeé la cabeza demasiado :(

+1

De vuelta en mi punto anterior, también tenga en cuenta que si establece el tiempo de transferencia en 5 segundos, ¡en realidad está desactivando la transferencia! Consulte http: // blogs. msdn.com/b/mcsuksoldev/archive/2010/06/25/common-problems-collecting-azure-diagnostics.aspx – Stuart

+0

¡Buen enlace! Gracias s! – vtortola

2

No estoy seguro acerca de este problema en particular.

Sin embargo, una cosa que podría ayudar, es que es inusual iniciar los Diagnósticos en Page_Load - es mucho más típico comenzar en el método de Inicio de Roles.

Además, no recomendaría utilizar un período de tan solo 5 segundos para transferir sus archivos de registro: una hora o más normalmente es más adecuado (aunque entiendo que esta configuración está disponible en el momento para ayudar con sus pruebas !)

0

encontré Ejecución del proyecto bajo IISExpress y no IIS Web Server solucionado este problema para mí. Para cambiar esto, vaya a las propiedades en el Proyecto Azure y tengo en la pestaña Web, puede cambiar esta configuración.

Cuestiones relacionadas