在 vb.net 中设置和获取 SignalR 调用方属性

本文关键字:方属性 调用 属性 SignalR 获取 net vb 设置 | 更新日期: 2023-09-27 18:37:14

在 SignalR 聊天示例中,调用方属性是使用代码设置的;

Caller.name = newUser.Name;

稍后,将读取此属性;

string name = Caller.name;

我有自己的 SignalR 项目,但这个项目 vb.net,当我执行相同的设置并获取调用方属性时,它不起作用

Public Sub SetCaller()
    Caller.name = "tim"
End Sub
Public Sub GetCaller()
    Dim name as string = Caller.name
End Sub

GetCaller() 抛出错误"从类型'Task(Of Object)'到类型'字符串'的转换无效。

完全相同的代码,但在 c# 中工作正常;

public void SetCaller(){
    Caller.name = "tim";
}
public void GetCaller(){
    string name = Caller.name;
}

我的代码在 vb.net 中是错误的吗?

在 vb.net 中设置和获取 SignalR 调用方属性

对于像我这样想知道的人,我已经找到了答案。对于 VB.NET,我们必须使用 Clients.CallerState.name .

不,你在 VB.NET 语法上没有做错任何事。 我唯一能想到的就是使用 IDE 检查 Caller 是什么类型以及 Caller.name。 在 VB.NET 中,它不区分大小写,并且许多命名空间可能会自动导入,而无需您在文件顶部专门列出它们,因此,在 VB 中,它很可能对那些使用与预期不同的类型。