我正在编写一个ASP.NET5MVC6(Core)应用程序。现在我需要在session缓存(ISession)中存储(设置和获取)一个对象。您可能知道,ISession的Set方法接受一个byte-array和Get-方法返回一个。在非核心应用程序中,我会使用BinaryFormatter来转换我的对象。但是我怎样才能在核心应用程序中做到这一点呢? 最佳答案 我会将对象序列化为JSON,并使用ISession上的扩展方法将它们保存为string。//Savevarkey="my-key";varstr=JsonConvert.Ser
我知道如何保存流,但我想获取该流并创建缩略图和其他大小的图像,但我不知道如何将字节[]保存到AzureBlob存储。这就是我现在正在做的来保存流://Retrievereferencetoablobnamed"myblob".CloudBlockBlob_blockBlob=container.GetBlockBlobReference("SampleImage.jpg");//uploadfromStreamobjectduringfileuploadblockBlob.UploadFromStream(stream);//Butwhataboutpushingabyte[]arra
我的Azure存储中有大约80万个blob。当我使用blobTrigger创建azure函数时,它开始处理存储中的所有blob。如何将我的函数配置为仅针对新的和更新的blob触发? 最佳答案 目前没有办法做到这一点。在内部,我们通过将收据存储在我们的控制容器azure-webjobs-hosts中来跟踪我们处理了哪些blob。任何没有收据的blob或旧收据(基于blobETag)将被处理(或重新处理)。这就是为什么要处理您现有的blob——它们没有收据。BlobTrigger目前旨在确保最终处理容器中与路径模式匹配的所有blob,并
UPD:这是我的implementedsolutiontothisproblem我正在尝试通过Azure.Storage库(而非RESTAPI)上传到Azureblob存储并通过共享访问key进行身份验证。我看过这个blogpost,但自发布以来API发生了变化,现在我无法获得相同的结果。这是我的:varblobClient=newCloudBlobClient(newUri(blobWithSas.BaseUri),newStorageCredentials(blobWithSas.Sas));//hereIreceive404errorvarblob=blobClient.GetB
使用Azure函数的绑定(bind)选项,可以根据从触发器派生的参数(例如触发函数的队列消息)指定要写入的Blob的名称;文档显示了一个例子。我的问题是:如果事先不知道blob名称,但实际上是作为函数执行的一部分计算的,那么最好的处理方法是什么?相关:如果函数可能会或可能不会根据其计算结果产生输出blob(或多个输出blob!),该怎么办?据我所知,现在AzureFunction的绑定(bind)机制在这些情况下并没有多大帮助,最简单的方法是引用一个执行azureblob编写“经典方式”的程序集。但是还有更惯用的方法吗? 最佳答案
我正在尝试创建一个实用程序来从Internet下载文件并将其再次上传到Azureblob存储。Blob容器已经创建好了;但出于某种原因,当我尝试将文件上传到存储时出现“BadRequest400”异常......创建了容器名称,小写字母,特殊字符。但我仍然不知道为什么会出现异常!请帮忙。注意:我没有使用任何模拟器...直接在云端进行测试。我的所有容器都具有“公共(public)容器”访问选项。异常(exception)情况:Anexceptionoftype'Microsoft.WindowsAzure.Storage.StorageException'occurredinMicros
我正在从大小为1GB的blob存储下载一个blob。如果我使用MSAzure存储资源管理器,它需要不到10分钟(我有20兆位的下线)。但是当我使用代码时:awaitblobRef.DownloadToFileAsync("D:\\temp\\data.mdf",FileMode.Create);(我也尝试过使用内存流)下载250MB需要一个多小时(此时我将其杀死)。我已经多次完成此测试并且它始终如一地发生。我还监控了网络流量。通过StorageExlorer的网络流量下降了大约20兆位通过code,网络流量下降1Megabit左右编辑:我仍在使用旧版本的Azure存储资源管理器(1.4
privatereadonlyCloudBlobContainer_blobContainer;publicvoidRemove(){if(_blobContainer.Exists()){_blobContainer.Delete();}}如何不删除整个容器而是删除一些容器Listdisks那个在容器里? 最佳答案 这是我使用的代码:privateCloudBlobContainerblobContainer;publicvoidDeleteFile(stringuniqueFileIdentifier){this.AssertB
我想检查AzureBlob存储中是否存在特定文件。是否可以通过指定文件名来检查?每次我收到文件未找到错误。 最佳答案 varblob=client.GetContainerReference(containerName).GetBlockBlobReference(blobFileName);if(blob.Exists())//doyourstuff 关于c#-如何检查AzureBlob文件是否存在,我们在StackOverflow上找到一个类似的问题: h
我正在开发一个将滤镜应用于图像的Windows8Metro应用程序。我有该应用程序的Web版本并想移植它。但众所周知,WinRT并不具备.NET提供的所有优点:/目前我正在字节数组上应用过滤器,我想保持这种状态,因为它非常快!因此,在过去的几天里,我一直在寻找将StorageFile转换为byte[],然后将byte[]转换为BitmapImage的方法。到目前为止,我已经设法完成了第一个(StorageFile到byte[])。这是我的做法:publicasyncTaskImageFileToByteArray(StorageFilefile){IRandomAccessStream