【问题标题】:Optional parameters in SignalR 1.x Hub MethodSignalR 1.x Hub 方法中的可选参数
【发布时间】:2015-07-30 15:05:29
【问题描述】:

我最近在 .net 4.0 MVC4 应用程序中安装了 SiganlR 1.x 当我按原样使用时,示例方法可以正常工作

但我想将一个可选参数传递给 hub 方法,它可以是 nullundefinedempty

所以在 hub 方法中添加了新参数 toUser

public class ContosoChatHub : Hub
{
    public void NewContosoChatMessage(string name, string message, string toUser = null)
    {
        Clients.All.addContosoChatMessageToPage(name, message);
    }
}

//javascript
contosoChatHubProxy.server.newContosoChatMessage(name, messsage);
//or
contosoChatHubProxy.server.newContosoChatMessage(name, messsage, '');

当上述脚本被调用时,我在客户端出现错误

Argument cannot be null or empty
Parameter name: toUser

需要一些专业知识。 谢谢。

【问题讨论】:

  • 当你调用 contosoChatHubProxy.server.newContosoChatMessage(name, messsage) 你的调试器会去那里
  • 不,它没有达到方法断点。我从connection.error 方法在客户端收到错误
  • 当我通过 (name, messsage, '') 正在为我工​​作
  • 您是否尝试过 string toUser = "" 而不是使用 null?然后在您的代码中添加验证以查找 if(!String.IsNullorWhiteSpace(toUser))
  • @MarkTomlinson 是的,我尝试了toUser = "",但得到了同样的错误。

标签: javascript c# asp.net-mvc-4 signalr


【解决方案1】:

是的,这是 signalR 的小问题,您可以在重建他们正在处理的应用程序后尝试 https://github.com/SignalR/SignalR/issues/324 但 使用''NULL 它对我有用

【讨论】:

  • 另外,我试过不传递可选参数,哇它也能正常工作。谢谢
  • @JAG 谢谢,是的,有时会出现问题,因为cache 未被清除
猜你喜欢
  • 1970-01-01
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-10
相关资源
最近更新 更多