2013-07-09 3 views
0

하늘빛 역할을 실행하려고합니다. 에뮬레이터에서는 실행되지만 Azure에서는 실행되지 않습니다. 그래서 추적 프로젝트를 내 프로젝트에 통합하려고했습니다. 나는 처음에는 일반 테스트 프로젝트 (완벽하게 작동)로 시도했지만, "실제"프로젝트에서는 결과를 얻지 못했습니다. 여기 하늘빛 추적 결과가 업로드되지 않았습니다.

내 파일입니다

의 app.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.diagnostics> 
    <trace> 
     <listeners> 
     <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
      <filter type="" /> 
     </add> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

ServiceConfiguration.Cloud.cscfg

<?xml version="1.0" encoding="utf-8"?> 
<ServiceConfiguration serviceName="MyServiceName" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2013-03.2.0"> 
    <Role name="MyRoleName"> 
    <Instances count="2" /> 
    <ConfigurationSettings> 
     <Setting name="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<myAccount>;AccountKey=<myKEy==>" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<myAccount>;AccountKey=<myKEy==>" /> 
    </ConfigurationSettings> 
    </Role> 
</ServiceConfiguration> 

serviceDefinition.csdef

<?xml version="1.0" encoding="utf-8"?> 
<ServiceDefinition name="MyServiceName" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0"> 
    <WorkerRole name="MyRoleName" vmsize="Small"> 
    <Imports> 
     <Import moduleName="Diagnostics" /> 
    </Imports> 
    <Endpoints> 
     <InternalEndpoint name="InternalEndpoint1" protocol="tcp" /> 
    </Endpoints> 
    <ConfigurationSettings> 
     <Setting name="StorageConnectionString" /> 
    </ConfigurationSettings> 
    </WorkerRole> 
</ServiceDefinition> 

내 소스 코드 (스 니펫 t) :

public override bool OnStart() 
{ 

    ConfigDiagnostics(); 
    Trace.TraceInformation("Initializing storage account"); 

    // Set the maximum number of concurrent connections 
    ServicePointManager.DefaultConnectionLimit = 12; 

    // For information on handling configuration changes 
    // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357. 

    return base.OnStart(); 
} 

private void ConfigDiagnostics() 
{ 
    DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 
    config.ConfigurationChangePollInterval = TimeSpan.FromMinutes(1d); 
    config.Logs.BufferQuotaInMB = 500; 
    config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose; 
    config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1d);    

    //DiagnosticMonitor.Start(@"StorageConnectionString", config); 
    DiagnosticMonitor.Start(@"Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 
} 

동일한 코드가 새로운 Azure 프로젝트에서 작동하지만이 프로젝트에서는 작동하지 않습니다. 지금 주목할 수있는 유일한 차이점은 : 내 "실제"프로젝트가 run() 메소드에서 예외를 throw합니다. azure 인스턴스의 예외 및 재활용이 너무 빨리 발생하거나 내 추적 결과를 내 저장소 계정에 업로드하기에는 너무 빠르기 때문에 내 추적 결과 (Trace.WriteLine 또는 Trace.TraceError 또는 Trace.TraceInformation)가 업로드되지 않았습니까? 또는 내가 놓쳤던 다른 점이 있을지도 모른다?!

감사합니다 :)

답변

0

문제는 다른이었다 cspack와 푸른 역할을 포장 및 Visual Studio와 푸른 역할을 포장하는 것은 차이 플러스 falty 패키지 파일에 역할을 한 포장 내 명령을합니다.

추적 자체는 완벽하게 작동합니다.

관련 문제