C# 扩展方法在.NETCore2.0中的使用?
我正在尝试使用Microsoft.Azure.Management.ComputeC# 扩展方法在.NETCore2.0中的使用?,c#,.net,azure,asp.net-core-2.0,C#,.net,Azure,Asp.net Core 2.0,我正在尝试使用Microsoft.Azure.Management.ComputeUsage属性列出Azure中的所有资源使用情况 我专门使用Usage.ListAsync()来实现这一点。根据该理论,这是一种扩展方法 我在使用以下命令创建ComputeManagementClient实例后调用扩展方法: public async Task<IComputeUsage> GetResourceUsage(int customerId) { var az
Usage
属性列出Azure中的所有资源使用情况
我专门使用Usage.ListAsync()
来实现这一点。根据该理论,这是一种扩展方法
我在使用以下命令创建ComputeManagementClient实例后调用扩展方法:
public async Task<IComputeUsage> GetResourceUsage(int customerId)
{
var azureClient = _dbContext.CreateAzureComputeClient(customerId);
var usageReport = await azureClient.Usage.ListAsync();
}
但是,VS2017没有指明名称空间的用法(灰色,而不是黑色) 您调用的
用法.ListAsync()
方法不正确-看起来需要字符串参数:
ListAsync(IUsageOperations、String、CancellationToken)
得到
指定的位置,当前计算资源使用情况信息为
以及订阅下计算资源的限制
事实上,在代码中,它提到您需要一个位置:
因此,请将您的代码更新为:
var usageReport = await azureClient.Usage.ListAsync("[resourceId('Microsoft.Storage/storageAccounts','examplestorage')]");
要使用扩展方法,您需要命名空间:
使用Microsoft.Azure.Management.Compute
。除此之外,他们的文档中没有无参数的ListAsync
。@CodingYoshi这是我第一次想到的,但我在代码中使用了这个名称空间。是的,很抱歉我正在更新我自己的答案。方法扩展错误似乎是一种误导,它确实需要一个位置!安装名称空间后输入一个位置可以解决问题。
var usageReport = await azureClient.Usage.ListAsync("[resourceId('Microsoft.Storage/storageAccounts','examplestorage')]");