2016-11-14 39 views
0

我已經創建了一個ASP.NET C#項目,它由一個Web窗體和一個WebSocket處理程序組成。我想從JSON字符串格式的Web表單向WebSocket處理程序發送2個數據(名稱爲&價格數據)。下面是在Web表單的代碼片段:ASP.NET C#WebSocket

  ws.onopen = function() 
      { 

       var name = "Client Product"; 
       var price = 10.8; 
       ws.send(JSON.stringify(name)); 
       ws.send(JSON.stringify(price)); 
       alert("Message is sent..."); 
      }; 

在網頁套接字句柄的onMessage(string)方法,我想檢索Web窗體發送2個數據和反序列化2個數據爲C#格式。這裏是WebSocket的處理程序的代碼片段:

 public override void OnMessage(string message) 
    { 
     string serverName=""; 
     string serverPrice = ""; 

     serverName = JsonConvert.DeserializeObject<string>(message); 
     serverPrice = JsonConvert.DeserializeObject<string>(message); 

    } 

然而,WebSocket的處理程序的onMessage(string)方法下,無論是可變的服務器名和serverPrice將被指定爲「客戶端產品」。我希望將變量serverPrice分配爲「10.8」,而不是「客戶端產品」。

有人可以告訴我我該如何做到這一點?如果你能幫助我,我將非常感激:)謝謝:)

回答

2

如果你想在單個JSON消息中發送多條數據,你需要將它們組合成一個對象。試着這樣說:

在客戶端:

ws.onopen = function() 
{ 
    var obj = { 
     name: "Client Product", 
     price: "10.8" 
    }; 
    ws.send(JSON.stringify(obj)); 
    alert("Message is sent..."); 
}; 

在服務器上:

+0

非常感謝你,布萊恩:)你救我一命:) – Antoni