Asp.net 无法从.net客户端web api web服务发布对象

Asp.net 无法从.net客户端web api web服务发布对象,asp.net,asp.net-web-api,Asp.net,Asp.net Web Api,我有一个.net客户端,它试图向web api服务发出http请求 这是我的要求: public List<Category> GetCategories() { HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:54558/"); client.DefaultRequestHeaders

我有一个.net客户端,它试图向web api服务发出http请求 这是我的要求:

   public List<Category> GetCategories()     

  {
          HttpClient client = new HttpClient();
          client.BaseAddress = new Uri("http://localhost:54558/");
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        Task<string> response = client.GetStringAsync("api/CategoryApi/");
        List<Category> lstCategory = JsonConvert.DeserializeObjectAsync<List<Category>>(response.Result).Result;
        return lstCategory;
    }



    public void Create(Category category)
    {
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        var stringContent = new StringContent(category.ToString());
        HttpResponseMessage responseMessage = client.PostAsync("api/CategoryApi/", stringContent).Result;

    }

可能是什么问题。事先告诉你,你只是发布了一个Category.ToString,如果你没有将ToString重写为Json或XML字符串,它将在服务器端失败,因为无法将内容反序列化为Category对象。在发布类别之前,应在客户端上序列化该类别。还要确保您的请求头包含正确的内容类型application/json。通过发布StringContent,内容类型将不会是application/json。您正在设置Accept标头,但它仅描述返回到客户端的数据,而不是您正在发布的数据。最后一件事,我不会对get和post请求使用相同的HttpClient。每个方法都应该使用自己的HttpClient,这样根据调用的不同,就不会有任何额外的头。

这是在IIS 7.x上吗?你查过日志文件了吗?请看这里-现在我得到这个错误:{“由于目标计算机主动拒绝连接,因此无法建立连接127.0.0.1:54558”}您是否有防火墙在运行?
 public IEnumerable<Category> GetCategories()
        {
            return categoryRepository.data;
        }



        public string PostCategory(Category category)
        {
            categoryRepository.add(category);
            return "MessageOk";
        }
atusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Pragma: no-cache
  X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNccG9zdGdyZXNcRGVza3RvcFxXZWJBcGlTZXJ2aWNlXFdlYkFwaVNlcnZpY2VcYXBpXENhdGVnb3J5QXBpXA==?=
  Cache-Control: no-cache
  Date: Sat, 13 Jun 2015 17:55:16 GMT
  Server: Microsoft-IIS/8.0
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Content-Length: 1022
  Content-Type: application/json; charset=utf-8
  Expires: -1
}}