Just started using ASP.Net 4.5 and my API always returns Internal Server Error.
Upload API
public class UploadController : ApiController
{
    public async Task<HttpResponseMessage> PostFile()
    {  
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }
        string root = HttpContext.Current.Server.MapPath("~/App_Data/uploads/");
        var provider = new CustomMultipartFormDataStreamProvider(root);
        try
        {
            await Request.Content.ReadAsMultipartAsync(provider);
            return Request.CreateResponse(HttpStatusCode.OK);
        }
        catch (System.Exception e)
        {
            return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
        }
    }
}
My Controller
    var message = new HttpRequestMessage();
    var content = new MultipartFormDataContent();
    message.Method = HttpMethod.Post;
    message.Content = content;
    message.RequestUri = new Uri("http://localhost:12345/api/upload/");
    var client = new HttpClient();
    client.SendAsync(message).ContinueWith(task =>
    {
            var result = task.Result.ReasonPhrase;
            if (task.Result.IsSuccessStatusCode)
            {
                    //do something
            }
    });
The files are saved in the location (/App_Data/uploads/) but why is the status code always 500?
Please enlighten me. Thanks
 
    