将 QueueClientOptions 传递给 VB.NET 中的 Queueclient 构造函数
Posted
技术标签:
【中文标题】将 QueueClientOptions 传递给 VB.NET 中的 Queueclient 构造函数【英文标题】:Passing QueueClientOptions to Queueclient constructor in VB.NET 【发布时间】:2021-03-31 14:11:15 【问题描述】:我需要在现有的 VB.Net Windows 窗体应用程序中实现一些 Azure 存储队列功能。一切正常,直到我遇到 Base64 编码问题,在我的 Azure 函数日志中找到此消息:
输入不是有效的 Base-64 字符串,因为它包含非 base-64 字符、两个以上的填充字符或填充字符中的非法字符。
我找到了this post 如何在 C# 中执行此操作,但我无法弄清楚如何在 VB.NET 中执行此操作。
这是有效的语法 - 至少它被 Visual Studio 中的解释器正确接受:
Dim qc As QueueClient = New QueueClient(connstr, "licensecreationqueue", New QueueClientOptions)
但我需要根据其他帖子中的这段代码来实现 Base64 编码:
_queue = new QueueClient(connectionString, queueName, new QueueClientOptions
MessageEncoding = QueueMessageEncoding.Base64
);
我只是不知道如何将QueueMessageEncoding.Base64
合并到构造函数中的语法,并且没有一个在线转换器(Telerik 等人)能够解决它。
【问题讨论】:
请看看这是否有帮助:social.msdn.microsoft.com/forums/en-US/…. 不,因为QueueClient class 没有任何可以以这种方式设置的匹配属性。 【参考方案1】:我刚刚想通了。 QueueClientOptions 是它自己独特的类,具有自己的属性,因此您必须创建它,然后在创建它时将其传递给 QueueClient。发布解决方案以防对其他人有帮助:
Dim connstr As String = "My Connection String"
Dim queuename as string = "myqueue"
Dim qco As New QueueClientOptions
qco.MessageEncoding = QueueMessageEncoding.Base64
Dim qc As QueueClient = New QueueClient(connstr, queuename, qco)
【讨论】:
顺便说一句,这也可以:Dim queueClient As QueueClient = New QueueClient(connstr, queueName, New QueueClientOptions() With .MessageEncoding = QueueMessageEncoding.Base64)
以上是关于将 QueueClientOptions 传递给 VB.NET 中的 Queueclient 构造函数的主要内容,如果未能解决你的问题,请参考以下文章
为啥将 ClientID 传递给 javascript 函数会传递整个控件?
我在监视触摸事件的 UITableViewCell 中有一个 UILabel,如何将一些事件传递给单元格,将其他事件传递给标签?