将 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 构造函数的主要内容,如果未能解决你的问题,请参考以下文章

将变量传递给 jQuery 插件参数

将数组传递给 ParamArray

关于将值传递给方法的困惑? [复制]

为啥将 ClientID 传递给 javascript 函数会传递整个控件?

如何将数组传递给另一个活动?

我在监视触摸事件的 UITableViewCell 中有一个 UILabel,如何将一些事件传递给单元格,将其他事件传递给标签?