如何在Silverlight应用程序中显示容器的Azure blob列表?
如何在Silverlight应用程序中显示容器的Azure blob列表 我知道如何在常规的.Net中执行,但我需要在Silverlight中使用它。 我可以上传,但我想显示已上传内容的列表 类似于此,但对于Silverlight:如何在Silverlight应用程序中显示容器的Azure blob列表?,silverlight,azure-storage-blobs,Silverlight,Azure Storage Blobs,如何在Silverlight应用程序中显示容器的Azure blob列表 我知道如何在常规的.Net中执行,但我需要在Silverlight中使用它。 我可以上传,但我想显示已上传内容的列表 类似于此,但对于Silverlight: CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString"); CloudBlobClient blob
CloudStorageAccount account =
CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudBlobClient blobClient = account.CreateCloudBlobClient();
IEnumerable<CloudBlobContainer> containers = blobClient.ListContainers()
CloudStorageAccount=
CloudStorageAccount.FromConfigurationSetting(“DataConnectionString”);
CloudBlobClient blobClient=account.CreateCloudBlobClient();
IEnumerable containers=blobClient.ListContainers()
谢谢好的,这里没有魔法。我可以使用API或(我将要做的)使用WCF服务获取Azure blob存储,并在我的Silverlight应用程序中通过此服务获取数据。
不神奇,但不复杂 有两种与Azure Blob存储通信的方法:
private void ListFiles()
{
var uri = String.Format("{0}{1}", _containerUrl, "?restype=container&comp=list&include=snapshots&include=metadata");
_webRequest = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(new Uri(uri));
_webRequest.BeginGetResponse(EndListFiles, Guid.NewGuid().ToString());
}
private void EndListFiles(IAsyncResult result)
{
var doc = _webRequest.EndGetResponse(result);
var xDoc = XDocument.Load(doc.GetResponseStream());
var blobs = from blob in xDoc.Descendants("Blob")
select ConvertToUserFile(blob);
//do whatever you need here with the blobs.
}
请注意,这假设容器是公共的。如果您的容器不是公共容器,则您有两个选项: