하늘빛 역할을 실행하려고합니다. 에뮬레이터에서는 실행되지만 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)가 업로드되지 않았습니까? 또는 내가 놓쳤던 다른 점이 있을지도 모른다?!
감사합니다 :)