CloudQueueMessage没有byte [] ctor,有什么解释吗?

时间:2017-11-02 09:11:01

标签: c# azure azure-storage-queues

由于64k的邮件大小限制,我需要压缩我的字符串输入。

在文档中它说有一个公共的构造函数接受一个byte []

public CloudQueueMessage (byte[] content);

请参阅https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.queue.cloudqueuemessage.-ctor?view=azure-dotnet

显然,对于最新的SDK和.NET版本,情况并非如此 C:\用户\ xyz.nuget \包\ windowsazure.storage \ 8.5.0 \ lib中\ netstandard1.0 \ Microsoft.WindowsAzure.Storage.dll

它是.NET45构建的一部分,而不是任何.NET Standard构建。 1.0和1.3都没有,也没有2.0的构建。

无赖。果然还有内部" Rawbytes []"属性。 有没有人知道为什么会这样?

1 个答案:

答案 0 :(得分:3)

在查看反编译代码时,我找到了解决方案。

更新/解决方案:我刚刚意识到我正在寻找一个额外的公共静态方法:

CloudQueueMessage.CreateCloudQueueMessageFromByteArray(yourByteArray);

这又只是

的捷径
CloudQueueMessage message = new CloudQueueMessage(null);
message.SetMessageContent(yourByteArray);

所以简而言之。
使用.NET Standard也可以从byte []创建消息。 它只是(某种程度上)失踪的公共罪犯。