2016-11-30 85 views
1

雖然有在網絡上類似的許多問題,我還沒有發現右一個,解決了我的問題:傳遞對象參數樞紐方法

我有一個SignalR樞紐方法:

public ClientResponses ProcessRequest(ClientRequest request) {...} 

這種方法得到ClientRequest對象作爲參數:

[Serializable] 
public class ClientRequest : BaseClientRequest 
{ 
    [JsonProperty("input")] 
    public string Input { get; set; } 
} 

我把這種方法從客戶端這樣的:

var input = new Input(message); 
var jsonInput = JSON.stringify(input); 
hubProxy.server.processRequest(jsonInput); 

發送時,它們的值是:

enter image description here

但在服務器端(ProcessRequest)從來沒有所謂的方法。

當我更改此方法以獲取字符串類型參數並從客戶端發送一個純字符串它正常工作。

+2

我不認爲你必須JSON.stringify() – Steve

+0

@Steve是的你是對的,它現在的作品。謝謝 ! – Jacob

+0

@Steve也許你知道我該怎麼處理這個問題?刪除它?或者如果你想讓你回答。謝謝 – Jacob

回答

1

簡短的回答是該行:

var jsonInput = JSON.stringify(input); 

不需要,你可以直接發送JavaScript對象到SignalR。