首页 > 解决方案 > 启用了消息包的 SignalR 核心,来自 javacript 的十进制反序列化失败

问题描述

当我从 javascript 客户端(网络浏览器)向 SignalR 服务器发送消息时,启用了消息包,并且参数中的对象包含小数,没有任何反应,使用其他类型作为双重工作。我很确定 SignalR 服务器的小数反序列化存在问题。

public class StartParams
{
    public decimal first { get; set; }
    public decimal second { get; set; }
}

当我从 javascript 页面调用 connection.send("function", body); 时,该对象不会从服务器反序列化;其中 body 是 StartParams。试图修改这个类

public class StartParams
{
    public double first { get; set; }
    public double second { get; set; }
}

一切正常。有没有办法直接使用 DTO 中的小数,而无需在 c# 代码中进行类型转换?

标签: javascriptc#asp.net.net-coresignalr

解决方案


推荐阅读