亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 C# 方法中傳遞 Json 對象作為參數

如何在 C# 方法中傳遞 Json 對象作為參數

C#
江戶川亂折騰 2023-07-09 16:14:11
我在控制器中有以下方法,并傳遞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 方法中受益,將特定類型的數據傳遞給客戶端,因此客戶端已經知道它正在獲取什么類型的數據。


查看完整回答
反對 回復 2023-07-09
  • 1 回答
  • 0 關注
  • 257 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號