【问题标题】:ServiceStack 5.1.0 does not deserialize object fieldServiceStack 5.1.0 不反序列化对象字段
【发布时间】:2018-08-27 16:58:13
【问题描述】:

我们有 Web 客户端 (Javascript) 发送 DTO,其中包含对象类型的字段并在其中包含一些字符串。服务器处理字符串(该字段被定义为“对象”而不是“字符串”是有原因的,让我们将其作为本次讨论的内容)。

这在 ServiceStack 4.0.52 中运行良好,但在 ServiceStack 5.1.0(.NET 标准)中停止运行。该字段以null到达服务端,无法处理字符串。

发生这种情况的任何原因?如果它是一个错误或有意更改破坏兼容性?如果是后一种情况,是否有任何选项可以返回旧行为?

【问题讨论】:

    标签: servicestack


    【解决方案1】:

    应避免使用未知的object 类型,除了其他语言和序列化程序不支持的互操作性问题外,它还受security restrictions 的约束。

    在 v5.1.0 中,使用新的JS Utils 实现将其更改为accept arbitrary JS objects,该实现比以前的实现更强大、更正确。

    但之前的实现可以通过以下方式恢复:

    SetConfig(new HostConfig { UseJsObject = false });
    

    【讨论】:

    • 这行得通,谢谢。是否有任何“重大更改”文档解释了 ServiceStack 版本中的此类不兼容性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多