HttpClient.SendAsync: Windows服务应用程序中出现500 - 内部服务器错误

3

我试图将一个json字符串发布到Web API时,出现了以下错误信息(这是包含System.IO.File.WriteAllText的行写入文件的内容):

Response: StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Pragma: no-cache
  Cache-Control: no-cache
  Date: Thu, 13 Aug 2015 21:26:12 GMT
  Server: Microsoft-IIS/8.5
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Content-Length: 36
  Content-Type: application/json; charset=utf-8
  Expires: -1
}

我的异步发布方法中的代码如下:

  Uri theUri = new Uri("http://www.website.com/WebsiteAPI/PostDetails");

  HttpClient aClient = new HttpClient();
  aClient.BaseAddress = theUri;
  aClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  aClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
      Convert.ToBase64String(
      System.Text.ASCIIEncoding.ASCII.GetBytes(
      string.Format("{0}:{1}", "USERNAME", "PASSWORD"))));
  aClient.DefaultRequestHeaders.Host = theUri.Host;

  HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, theUri);
  request.Content = new StringContent(resource, Encoding.UTF8, "application/json");

  // Post the data 
  aClient.SendAsync(request).ContinueWith(responseTask =>
      {
          System.IO.File.WriteAllText(PROFILE_JSON_PATH, "Response: " + responseTask.Result);
      });

我尝试了许多不同的在线解决方案,但似乎都无法正常工作。有任何想法为什么会出现这种情况吗?
1个回答

0
简短的回答是,你的Web API出现了错误。你的客户端代码可能有问题,也可能没有问题,但你需要去Web API获取能够解释问题的信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接