This is driving me crazy. I\'m using ASP.NET MVC. I have a controller with an HttpPost action that acts as a callback URL that is called by another server (not under my cont
Your initial approach should work if you take into consideration the fact, that ASP.NET MVC model binding has already read the stream, so you should rewind it:
[HttpPost]
public ActionResult Callback(string secret)
{
Request.InputStream.Seek(0, SeekOrigin.Begin);
string jsonData = new StreamReader(Request.InputStream).ReadToEnd();
// ...
}