gpt4 book ai didi

c# - 为什么使用 RoleEntryPoint 时无法访问 Application_Start 中的 RoleEnvironment?

转载 作者:行者123 更新时间:2023-12-03 03:20:26 25 4
gpt4 key购买 nike

我有一个 Azure WebRole,我正在尝试配置日志记录以使用 DiagnosticMonitor。

根据 windowsazure.com 上的文档,日志记录应在 OnStart 中实现:

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/

为了访问 OnStart 方法,我必须定义一个 RoleEntryPoint。但是一旦定义了它,我就无法访问 Web 应用程序 Application_Start 中的 RoleEnvironment。

如何使 RoleEnvironment 对应用程序可用,同时仍然能够使用 DiagnosticMonitor?

我将应用程序连接字符串存储在服务配置中。

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();
}

最佳答案

我已经解决了。

清理我的解决方案、重建、重新启动 IIS、关闭 azure 模拟器并重新启动 Visual Studio 后,它突然开始工作。

我根本没有更改任何代码。

(我什至在发布之前也做了所有这些事情,但只有当我同时完成所有这些事情时才有效)

关于c# - 为什么使用 RoleEntryPoint 时无法访问 Application_Start 中的 RoleEnvironment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com