Android SignalA,Invoke方法中的参数值

时间:2014-12-15 01:57:43

标签: android signalr

我正在使用SignalA安卓库。 我能够成功地与服务器通信,但是参数有问题。 在Android中,我使用Collection来存储参数:

Collection<String> sendMessageContent = new HashSet<String>();    
sendMessageContent.add(receiver_name);
                sendMessageContent.add(message);
                sendMessageContent.add(Long.toString(product));
                hub.Invoke("SendChatMessage", sendMessageContent, new HubInvokeCallback() {
                    @Override
                    public void OnResult(boolean b, String s) {
                        Log.i(TAG, "success to send message!" + b + s );
                    }
                    @Override
                    public void OnError(Exception e) {
                        Log.e(TAG, e.toString());
                    }
                });    

在服务器端,我有这个方法:

public void SendChatMessage(string receiver_name, string message, long product_id)
    { //skip implementation }    

我能够在服务器上接收参数值,但receiver_name的值是message的值,message的值是receiver_name。如果我先将消息添加到Collection然后添加receiver_name,我会得到两者的正确值。任何人都可以告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

如果我使用List而不是Collection,它会按预期工作。