0

我在 .NET Web 应用程序中有一个 JSON RPC 处理程序,并向其发布了一个 GWT 表单,其中一个文本框具有以下值:

你如何定义你今天的压力水平(1=最小,10=最大)?

当我将表单发布到服务器时,FireBug 显示 JSON 字符串已被截断为:

最少,10=最多)?

但是,当我在服务器的 RPC 处理程序中放置一个断点并查看 HttpRequest.Form 属性时,它仍然具有完整的字符串。但是,一旦我尝试通过 request.Form[0] 访问名称-值对,我就会得到截断的字符串,显然我的 JSON 编码器无法解码该字符串。任何想法为什么?编辑:这是方法:

    public override string GetMethodName(HttpRequest request) {
        if (RpcUtils.IsGet(request)) {
            if (request.PathInfo.Length == 0) {
                return null;
            }
            string functionName = request.PathInfo.Substring(1);
            return functionName;
        } else if (RpcUtils.IsPost(request)) {
            if (request.PathInfo.Length > 0) {
                // Not really a proper JSON-RPC request, but handle it anyway
                string functionName = request.PathInfo.Substring(1);
                return functionName;
            } else {
                // Real JSON-RPC request
                var jsonRpc = (Dictionary<string, object>)this.Decode(request.Form[0]);
                string functionName = (string)jsonRpc["method"];
                return functionName;
            }
        } else {
            return null;
        }
    }

问题出在:

var jsonRpc = (字典)this.Decode(request.Form[0]);

4

0 回答 0