2

从 .NET 4.5 控制台应用程序使用 MVC 4.0 Web API 时出现以下错误。“没有 MediaTypeFormatter 可用于从媒体类型为 'text/html' 的内容中读取类型为 'IEnumerable`1' 的对象。” 请帮忙!下面是我的代码:

HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:30151/");

        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        //List all Customers
        HttpResponseMessage response = client.GetAsync("api/customers").Result;

         if (response.IsSuccessStatusCode)
        {
            var customers = response.Content.ReadAsAsync<IEnumerable<Customer>>().Result;
            foreach (var c in customers)
            {
                Console.WriteLine("ID: {0}\tName: {1}\tAddress: {2}\tEmail: {3}\tPhone: {4}", c.id, c.name, c.address, c.email, c.phone);
            }
        }
        else
        {
            Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
        }

        Console.Read();
4

2 回答 2

0

确保您将发布数据的内容类型设置为“application/json”如果您的内容类型为“text/html”,服务器将无法正确解释它

Content-Type: application/json
于 2013-04-29T16:30:51.697 回答
0

您的客户端代码看起来不错。我怀疑服务器没有返回它应该返回的内容。使用 fiddler 实际查看服务器返回的内容。

于 2013-05-02T11:31:02.787 回答