Ich habe eine Azure WebRole, die ich versuche, die Protokollierung für die Verwendung des DiagnosticMonitor zu konfigurieren.Warum kann ich nicht auf die RoleEnvironment in Application_Start zugreifen, wenn Sie einen RoleEntryPoint verwenden?
Gemäß der Dokumentation bei windowsazure.com sollte die Protokollierung in OnStart implementiert werden:
Note: The code in the following steps is typically added to the OnStart method of the role.
https://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/
Um die OnStart Methode zuzugreifen Ich habe einen RoleEntryPoint zu definieren. Aber sobald es definiert ist, kann ich nicht auf die RoleEnvironment in Web-Anwendungen Application_Start zugreifen.
Wie kann ich die RoleEnvironment für die Anwendung verfügbar machen und trotzdem den DiagnosticMonitor verwenden?
Ich speichern die Anwendungen Verbindungszeichenfolgen in der Dienstkonfiguration.
public class WebRole : RoleEntryPoint
{
public override bool OnStart()
{
// config
var config = DiagnosticMonitor.GetDefaultInitialConfiguration();
LocalResource localResource = RoleEnvironment.GetLocalResource("MyCustomLogs");
DirectoryConfiguration dirConfig = new DirectoryConfiguration();
dirConfig.Container = "wad-mycustomlogs-container";
dirConfig.DirectoryQuotaInMB = localResource.MaximumSizeInMegabytes;
dirConfig.Path = localResource.RootPath;
DiagnosticMonitorConfiguration diagMonitorConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
diagMonitorConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);
diagMonitorConfig.Directories.DataSources.Add(dirConfig);
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);
return base.OnStart();
}
Was passiert, wenn Sie versuchen, die RoleEnvironment in Application_Start Webanwendungen zugreifen? –
Es scheint etwas damit zu tun zu haben http://stackoverflow.com/a/6202411/348841 aber kann mir bitte jemand erklären wie ich das machen soll? –
Versuchen Sie, Ihren DiagnosticsMonitor von Application_Start (neu) zu konfigurieren? –