C# cloudStorageAccount
在迁移到2.0之前,以下代码正常工作(类型CloudStorageAccount位于命名空间StorageClient中): StorageClient在2.0中被删除,所以现在我必须使用C# cloudStorageAccount,c#,azure,azure-storage,C#,Azure,Azure Storage,在迁移到2.0之前,以下代码正常工作(类型CloudStorageAccount位于命名空间StorageClient中): StorageClient在2.0中被删除,所以现在我必须使用 Microsoft.WindowsAzure.Storage.CloudStorageAccount ,位此类型没有方法CreateRoleInstanceDiagnosticManager 因此,如何获取CreateRoleInstanceDiagnosticManager先前返回的实例,因为我将其用于性
Microsoft.WindowsAzure.Storage.CloudStorageAccount
,位此类型没有方法CreateRoleInstanceDiagnosticManager
因此,如何获取CreateRoleInstanceDiagnosticManager先前返回的实例,因为我将其用于性能计数器和日志您要做的是首先包含以下名称空间:
using Microsoft.WindowsAzure.Diagnostics.Management;
然后使用下面的代码:
CloudStorageAccount cloudStorageAccount =
cloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue
(wadConnectionString));
RoleInstanceDiagnosticManager roleInstanceDiagnosticManager =
cloudStorageAccount.CreateRoleInstanceDiagnosticManager
(RoleEnvironment.DeploymentId,
RoleEnvironment.CurrentRoleInstance.Role.Name,
RoleEnvironment.CurrentRoleInstance.Id);
我刚刚用SDK 1.8和Storage Client 2.0测试了上述代码。它不起作用,因为CreateRoleInstanceDiagnosticManager扩展引用了旧的CloudStorageAccount。解决方法是使用DeploymentDiagnosticManager
除了Microsoft.WindowsAzure.Storage,您还需要引用旧的Microsoft.WindowsAzure.StorageClient,因为AzureDiagnostics引用该程序集 看起来2.0版确实有了变化,不再像是一种扩展方法了——这意味着你可能不需要你的CloudStorageAccount了,我自己也遇到过这个问题 试试这个:
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(
RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));
var roleInstanceDiagnosticManager = CloudAccountDiagnosticMonitorExtensions.CreateRoleInstanceDiagnosticManager(
RoleEnvironment.GetConfigurationSettingValue(wadConnectionString),
RoleEnvironment.DeploymentId,
RoleEnvironment.CurrentRoleInstance.Role.Name,
RoleEnvironment.CurrentRoleInstance.Id);
最初的帖子说,它是被升级破坏的,而不是被丢失的名称空间破坏的。
var storageConnectionString = RoleEnvironment.GetConfigurationSettingValue(
"Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");
var deploymentDiagnosticManager = new DeploymentDiagnosticManager(
storageConnectionString,
RoleEnvironment.DeploymentId);
return deploymentDiagnosticManager.GetRoleInstanceDiagnosticManager(
RoleEnvironment.CurrentRoleInstance.Role.Name,
RoleEnvironment.CurrentRoleInstance.Id);`
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(
RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));
var roleInstanceDiagnosticManager = CloudAccountDiagnosticMonitorExtensions.CreateRoleInstanceDiagnosticManager(
RoleEnvironment.GetConfigurationSettingValue(wadConnectionString),
RoleEnvironment.DeploymentId,
RoleEnvironment.CurrentRoleInstance.Role.Name,
RoleEnvironment.CurrentRoleInstance.Id);