Я работаю с Windows Azure Diagnostics. Я добавляю приведенный ниже код в Webrol.cs
пытаться
{
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 и строку подключения в файле .cscfg. Теперь я могу регистрировать диагностику в среде разработки, используя хранилище развертывания. Но когда я размещаю то же приложение в облаке, я не могу регистрировать диагностику. Я получаю сообщение об ошибке
«500 - внутренняя ошибка сервера. Проблема с ресурсом, который вы ищете, и он не может быть отображен».
Я попытался изменить Copy local на true для пространств имен, но это не сработало. Я хочу, чтобы приложение работало в среде развертывания. Если у кого-то есть идеи, как решить эту проблему, пожалуйста, ответьте мне.
Заранее спасибо.