ASP.Net Web API参数为null

时间:2013-12-16 22:28:44

标签: c# asp.net-mvc web-services asp.net-web-api

我使用ASP.Net web api作为我的服务,从第三方应用程序调用。当我在chrome postman中测试它时它在localhost和部署的服务器上工作得很好,但是我在fiddler中试过它,抛出它并且字符串val总是为null,我应该添加其他东西吗?我不明白为什么它在邮递员中工作正常!对这个有点疯狂! 提前致谢

public bool PostProperty([FromBody] string val)
{
    try
    {          
        var reader = new StringReader(val);
        var serializer = new XmlSerializer(typeof(property));
        var instance = (property)serializer.Deserialize(reader);
    }
}

1 个答案:

答案 0 :(得分:2)

将您的签名更改为

public async Task<bool> PostProperty()
{
    try
    {          
        var reader = new StringReader(await Request.Content.ReadAsStringAsync());
        var serializer = new XmlSerializer(typeof(property));
        var instance = (property)serializer.Deserialize(reader);
    }
}

public bool PostProperty([FromBody] property val)
{

}

如果您执行第二个选项,则可能需要在设置中添加以下行

config.Formatters.XmlFormatter.UseXmlSerializer = true;