Qu'est-ce que Request.InputStream et quand l'utiliser?

Question est très simple. Qu'est-ce que Request.InputStream et quand l'utiliser. Est-il toujours utilisé pour lire l'intégralité du corps html envoyé dans la requête post ou seulement certains paramètres envoyés? Pourquoi devrais-je pas envoyer de données en tant que paramètre de mon côté serveur code en le passant dans la requête Ajax?

Dans l'exemple que je peux passer le paramètre dans la data: ou je peux lire le paramètre dans la Request.InputStream. Quand dois-je utiliser lequel?

Exemple:

Dans le contrôleur:

    public ActionResult GetSomeData(string someData)
    {
        Request.InputStream.Position = 0;
        System.IO.StreamReader str = new System.IO.StreamReader(Request.InputStream);
        string sBuf = str.ReadToEnd();
        return Json("something");
    }

Requête Ajax:

        $.ajax({
            type: "POST",
            url: "Home/GetSomeData",
            data: "{someData:'Hello'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert(msg);
                //Insert the returned HTML into the <div>.
                $('#dvResult').html(msg);
            }
        });

source d'informationauteur Asdfg