我们有Web客户端(Javascript)发送DTO,其中包含类型为object的字段,并且内部包含一些字符串。服务器处理字符串(出于某些原因,将字段定义为“对象”而不是“字符串”,让我们按照此讨论中的说明进行操作。)
这在ServiceStack 4.0.52上运行良好,但停止了在ServiceStack 5.1.0(.NET标准)下运行。该字段以null形式到达服务端,并且字符串无法处理。
为什么会发生这种情况?如果是错误或打算更改破坏兼容性?如果是后一种情况,是否可以选择返回旧的行为?
答案 0 :(得分:0)
应避免使用未知的object
类型,除了其他语言和序列化程序不支持的互操作性问题外,还应遵守security restrictions。
在v5.1.0中,使用新的accept arbitrary JS objects实现将其更改为JS Utils,比以前的实现更强大,更正确。
但是可以使用以下方法恢复以前的实现:
SetConfig(new HostConfig { UseJsObject = false });