【问题标题】:16352 is the max length .NET Webservices can return Jsonp?16352 是 .NET Webservices 可以返回 Jsonp 的最大长度吗?
【发布时间】:2012-09-24 07:38:51
【问题描述】:

我有一个将 Json 值返回给 javascript 调用者的网络服务。由于我无法让 .NET 返回 JSON 格式,(即使我已将其设置为 ResponseFormat:=ResponseFormat.Json)(此外,这不是跨域请求)我必须设置 javascript 以接收它改为 JSONP。

在返回值的字符长度开始增长之前,这一切正常。奇怪的错误开始出现。花了我几个小时,最后,我能找到的唯一模式是:

在一个“神奇”的 16352 个字符之后,它会在返回的值之间插入一个 ");jsonp1349260900225("。(1349260900225

以前有人遇到过这个问题吗? 16352 个字符并不是很多,我根本无法减少长度来回避这个问题。

提前致谢。

这是 firebug 返回值的 sn-p:

lign=\u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 对齐=\u0027absMiddle\u0027 /\u003e \u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 align=);jsonp1349260900225(u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 对齐=\u0027absMiddle\u0027 /\u003e \u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 对齐=\u0027absMiddle\u0027 /\u003e\u003cimg src=\u0027http://squarelet.com/images/smiley/Smile.gif\u0027 align=\

这是返回值的网络服务:

<WebMethod()> _
<ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)> _
Public Function L_C_H(ByVal CSI As String, ByVal CCI As String) As List(Of SquareLet.ChatManagement.Chat)

    Return SquareLet.ChatManagement.Chat.LoadHistory(Guid.Parse(CSI), Guid.Parse(CCI))

End Function

【问题讨论】:

  • 我没有看到你返回 jsonp ...在我看来,网络服务器返回纯 json ..(顺便说一句。json 的长度可以在 web.config 默认为2097152个字符)
  • firebug 的数据显示它是 Jsonp(虽然我不知道为什么)。我知道有一个默认大小。但为什么它只有 16352 个字符?该死的:(

标签: .net web-services jsonp


【解决方案1】:

您必须将set MaxJsonLength 设置为更大的值。该属性可能会限制您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    相关资源
    最近更新 更多