C# 访问LastModified属性的blob属性

C# 访问LastModified属性的blob属性,c#,azure,properties,containers,blob,C#,Azure,Properties,Containers,Blob,我正在编写一个小代码来检查blob上的LastModified属性。似乎无法访问blob的属性。我怎样才能做到这一点 注意:在VisualStudio中调试时,我可以看到所需的信息 下面是我试图存储blob信息以供稍后比较的地方的代码片段 if (blob is CloudBlockBlob) { var blobFileName = blob.Uri.Segments.Last().Replace("%20", " "

我正在编写一个小代码来检查blob上的LastModified属性。似乎无法访问blob的属性。我怎样才能做到这一点

注意:在VisualStudio中调试时,我可以看到所需的信息

下面是我试图存储blob信息以供稍后比较的地方的代码片段

  if (blob is CloudBlockBlob)
                {
                    var blobFileName = blob.Uri.Segments.Last().Replace("%20", " ");
                    var blobFilePath = blob.Uri.AbsolutePath.Replace(blob.Container.Uri.AbsolutePath + "/", "").Replace("%20", " ");
                    var blobPath = blobFilePath.Replace("/" + blobFileName, "");
                    var blobLM = blob.Properties.LastModified; // this is where I cannot access the LastModified poperty
                    blobInfos.Add(new BlobFileInfo
                    {
                        FileName = blobFileName,
                        BlobPath = blobPath,
                        BlobFilePath = blobFilePath,
                        Blob = blob,
                        LastModified = blobLM
                    });
                }

默认情况下不加载元数据和属性,请参见:

检索存储资源的属性值和元数据值需要两个步骤。在读取这些值之前,必须通过调用FetchAttributes或FetchAttributesAsync方法显式获取它们。如果您正在对资源调用Exists或ExistsAsync方法,则会出现例外情况。当您调用其中一个方法时,Azure Storage会在调用Exists方法的过程中调用相应的FetchAttributes方法

因此,执行类似于
wait blob.FetchAttributesAsync()的调用(或其中任何一项)


如果需要,还可以使用非异步模式。

请将
blob
转换为
CloudBlockBlob
,这将解决您的问题

例如:

if (blob is CloudBlockBlob)
{
    var cloudBlockBlob = (CloudBlockBlob) blob;
    var blobFileName = cloudBlockBlob.Uri.Segments.Last().Replace("%20", " ");
    var blobFilePath = cloudBlockBlob.Uri.AbsolutePath.Replace(cloudBlockBlob.Container.Uri.AbsolutePath + "/", "").Replace("%20", " ");
    var blobPath = blobFilePath.Replace("/" + blobFileName, "");
    var blobLM = cloudBlockBlob.Properties.LastModified; // this is where I cannot access the LastModified poperty
    blobInfos.Add(new BlobFileInfo
    {
        FileName = blobFileName,
        BlobPath = blobPath,
        BlobFilePath = blobFilePath,
        Blob = cloudBlockBlob,
        LastModified = blobLM
    });
}

当你说你不能访问上次修改的日期属性是什么意思?@GauravMantri它说IListBlobItem不包含“属性”的定义。。。