Azure 文件共享 属性 LastModified 的空值

null value for Azure File Share property LastModified

  // Get list of all files/directories on the file share 
            CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["storageConnectionString"]);
            CloudFileClient fileClient = cloudStorageAccount.CreateCloudFileClient();
            CloudFileShare fileShare = fileClient.GetShareReference(ConfigurationManager.AppSettings["shareName"]);

            var sourceName = fileShare.GetRootDirectoryReference().GetDirectoryReference((ConfigurationManager.AppSettings["sourceName"]));

            var test = sourceName.Properties.LastModified;

但是sourceName.Properties.LastModified is null

甚至fileShare.Properties.LastModified is null

当我尝试获取 Azure 文件共享的 LastModified 属性 时,我得到了 null。

原因是每次调用 GetRootDirectoryReference() 时都会创建一个 FileItem 的新实例,导致其属性被初始化为其默认值,与使用 [= 时的行为相同13=].

您需要做的是对此调用 FetchAttributes 以填充所有属性。

请注意,获取属性时,您不需要创建对象的新实例。

您可以按照此 进行操作,它引用了 blob,但也与您的错误有关。


您要求的示例是:

public static void ListContainerMetadataAsync(CloudBlobContainer container)
{
    // Fetch container attributes in order to populate the container's 
       properties and metadata.
     container.FetchAttributes();

    // Enumerate the container's metadata.
    Console.WriteLine("Container metadata:");
    foreach (var metadataItem in container.Metadata)
    {
        Console.WriteLine("\tKey: {0}", metadataItem.Key);
        Console.WriteLine("\tValue: {0}", metadataItem.Value);
    }
}

您可以在 docs.microsoft 阅读更多内容。