C# System.Runtime.Serialization.SerializationException:应为命名空间中的元素

C# System.Runtime.Serialization.SerializationException:应为命名空间中的元素,c#,wcf,httpclient,C#,Wcf,Httpclient,出于某种原因,我觉得对post的调用设置不正确,这意味着我认为消息是说WCF中的方法没有在post中接收到InventoryRequest对象 var inventoryRequest = new InventoryRequest { memberID = "1", Inventories = _inventories.ToArray() }; //Act using (var client = new HttpClien

出于某种原因,我觉得对post的调用设置不正确,这意味着我认为消息是说WCF中的方法没有在post中接收到InventoryRequest对象

   var inventoryRequest = new InventoryRequest
    {
        memberID = "1",
        Inventories = _inventories.ToArray()
    };


    //Act
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost/Inventory");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        inventoryResponse = await client.PostAsJsonAsync("", inventoryRequest).Result.Content.ReadAsAsync<InventoryResponse>();
    }
另一个奇怪的是,上面提到的是xml阅读器。我指定json作为内容类型,那么为什么它要尝试用xml解析呢

旁注:当我尝试在Fiddler中向同一uri发送帖子,并在Fiddler主体中指定InventoryRequest的json表示时,它工作正常…并返回json,请按以下方式尝试:

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

    inventoryResponse = await client.PostAsJsonAsync("Inventory", inventoryRequest).Result.Content.ReadAsAsync<InventoryResponse>();
}
使用(var-client=new-HttpClient())
{
client.BaseAddress=新Uri(“http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
inventoryResponse=await client.PostAsJsonAsync(“库存”,inventoryRequest).Result.Content.ReadAsAsAsync();
}

尝试找出服务器上的问题。以下是说明:,
using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("http://localhost/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    inventoryResponse = await client.PostAsJsonAsync("Inventory", inventoryRequest).Result.Content.ReadAsAsync<InventoryResponse>();
}