0

.NET Web アプリケーションに JSON RPC ハンドラーがあり、テキスト ボックスの 1 つに次の値が含まれる 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