【发布时间】:2014-04-25 10:08:53
【问题描述】:
我将 JSON 从 Objective-C 发布到 C# Web API 服务。 Web API 控制器上的 POST 方法自动将 post 表单数据反序列化为 .Net 中相应的类型化对象。
我遇到的问题是一个属性,一个简单的字符串属性,只有在发布的字符串足够小时才会接收一个值。我为该字段发布的信息是图像的 Base64 编码字符串表示。如果我使用的图像足够小,则该属性会完美通过。如果编码后的图像尺寸稍大一些,比如 80k,那么它会被反序列化为一个空字符串。
有人可以提供一些有关如何控制 Web API / MVC 中 JSON 反序列化所涉及的最大长度/大小的信息吗?
【问题讨论】:
-
好的,所以在设置远程天蓝色调试后,我确定问题不在于 json 数据的反序列化。问题是我通过具有映射到 NVARCHAR(MAX) 的属性的实体框架类型将信息保存到数据库。保存时,没有错误,但没有存储该值。当我尝试在 SQL Management Studio 中通过 SQL 语句存储值时,会出现一个错误,指出 Base64 值将被截断。我可以成功地将信息存储为 VarBinary 列。我认为 NVARCHAR(Max) 的存储限制是 2GB?
标签: c# json serialization asp.net-web-api size