title: Retrieving the Request Payload values from a HTTPRequest in c#
body: <p>I am attempting to implement my own LRS for saving TinCanAPI statements and in order to do this I need to retrieve the values sent in the <strong>Request Payload</strong> which stores the details of the learning activity statement. 
  When viewing my WebAPI call in developer tools I can see the required values but I have been unable to find them using the Request object.</p>
  
  <p>How Can I retrieve the Request Payload variables from the Request object? I have tried the request object and looked in the Content and Properties fields but I cannot seem to see a Request Payload property to reference in C#. My payload looks as follows:</p>
  
  <pre><code>{
      "id": "d3d9aa2a-5f20-4303-84c3-1f6f5b4e9236",
      "timestamp": "2014-06-26T11:00:41.432Z",
      "actor": {
          "objectType": "Agent",
          "mbox": "mailto:name@company.com",
          "name": "My Name"
      },
      "verb": {
          "id": "http://adlnet.gov/expapi/verbs/attempted",
          "display": {
              "und": "attempted"
          }
      },
      "context": {
          "extensions": {
              "http://tincanapi.com/JsTetris_TCAPI/gameId": "5686f104-3301-459d-9487-f84af3b3915c"
          },
          "contextActivities": {
              "grouping": [
                  {
                      "id": "http://tincanapi.com/JsTetris_TCAPI",
                      "objectType": "Activity"
                  }
              ]
          }
      },
      "object": {
          "id": "http://tincanapi.com/JsTetris_TCAPI",
          "objectType": "Activity",
          "definition": {
              "type": "http://adlnet.gov/expapi/activities/media",
              "name": {
                  "en-US": "Js Tetris - Tin Can Prototype"
              },
              "description": {
                  "en-US": "A game of tetris."
              }
          }
      }
  }
  </code></pre>
  
  <p>I have tried using:</p>
  
  <pre><code>var test1 = Request.ToString(); **EMPTY STRING**
  
  var test1 = Request.Content.ReadAsStringAsync().Result; **EMPTY STRING**
  
  var test2 = Request.Content.ReadAsFormDataAsync().Result; **THROWS FORMATTER ERROR DESPITE config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); added in the webapiconfig.cs
  </code></pre>