title: Asp Web Api async action - 404 error
body: <p>I've got some api controller with this action:</p>
  
  <pre><code>public class ProxyController : ApiController {
      public async Task&lt;HttpResponseMessage&gt; PostActionAsync(string confirmKey)
      {
           return await Task&lt;HttpResponseMessage&gt;.Factory.StartNew( () =&gt;
                 {
                    var result = GetSomeResult(confirmKey);
                    return Request.CreateResponse(HttpStatusCode.Created, result);
                 });
      }
  }
  </code></pre>
  
  <p>And here is my api routing confuguration:</p>
  
  <pre><code>routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional });
  </code></pre>
  
  <p>When I try to make any Post/Get Requests to this action, it's returns '404' error. How can I fix it? All other not-async actions in this controller works fine.</p>
  
  <p>UPD. JS query:</p>
  
  <pre><code>$.ajax({
          url: Url + '/api/Proxy/PostActionAsync',
          type: 'POST',
          data: { confirmKey: that.confirmKey },                  
          dataType: 'json',                   
          xhrFields: {  withCredentials: true  },
          success: function (data) {
              ............
          },
          error: function (jqXHR, textStatus, errorThrown) {
               ............
          }                        
  });
  </code></pre>
  
  <p>UPD. Resolved by adding <code>[FromBody]</code> to my parameters in action method just like in J. Steen's answer, now it's look's like</p>
  
  <pre><code>public class ProxyController : ApiController {
         public async Task&lt;HttpResponseMessage&gt; PostActionAsync([FromBody]string confirmKey)
          {
              var someModel = new SomeResultModel(User.Identity.Name);
              await Task.Factory.StartNew(() =&gt; someModel.PrepareModel(confirmKey));
  
              return Request.CreateResponse(HttpStatusCode.OK, someModel);
          }
      }
  </code></pre>
  
  <p>And it works!</p>