我在控制器中有以下方法,并傳遞JsonResult給 C# 中的另一個類 (Receiver.cs)。那么,在 Receiver.cs 類中作為參數的正確數據類型是什么?我使用過JsonResult,但不確定它是否是這種情況的最佳選擇?我還將此結果作為 Json 對象從 Receiver.cs 類返回給客戶端??刂破鳎簆ublic void Create() { //code omitted for brevity var data = GetData(); var data = Json(new { Data = data, success = true }, JsonRequestBehavior.AllowGet); Receiver.BroadcastData(data); }這是 Receiver.cs 中的方法:接收器.cs:public class Receiver{ public static void BroadcastData(JsonResult data) { ... }}更新: 實際上我使用 ASP.NET MVC 和 SignalR。這里我想將 Json 對象從 Controller 傳遞到 Hub 類。之后,我會將這個 Json 對象廣播給客戶端。
1 回答

繁星coding
TA貢獻1797條經驗 獲得超4個贊
我假設您想向每個 SignalR 連接發送一個 JSON 對象。
using 的Json()目的是從控制器操作返回 JSON 對象,因此它并不適合這里。
但 SignalR 讓這一切變得簡單。您發送到 SignalR 客戶端的任何對象都會被序列化為 JSON。所以你不必擔心序列化。您不必告訴它“我希望將其作為 JSON 發送”。
因此,如果您想要一個通用方法將任何類型的對象發送到客戶端,只需接受object. 當您將其傳遞給 SignalR 時,它會將其序列化為客戶端的 JSON。
public void Create() {
//code omitted for brevity
var data = GetData();
Receiver.BroadcastData(data);
}
public class Receiver
{
public static void BroadcastData(object data)
{
...
}
}
但是,我并不完全知道這會有多大用處??蛻舳巳匀槐仨氈浪鞘裁搭愋偷臄祿员隳軌蛞杂幸饬x的方式處理它。因此,您可能會發現實際上可以從不同的 SignalR 方法中受益,將特定類型的數據傳遞給客戶端,因此客戶端已經知道它正在獲取什么類型的數據。
- 1 回答
- 0 關注
- 257 瀏覽
添加回答
舉報
0/150
提交
取消