WCF响应始终以“GetResult”开头

时间:2013-01-09 18:41:53

标签: c# json wcf rest

我正在使用WCF创建Rest-JSON API。

问题是我的结果始终以{"GetResult": HERE_MY_RESULT }开头(注意“GetResult”)

例如:

public string GetString()
{
    return "Hello World!";
}

返回{"GetResult": "Hello World!"}

以下是我用于服务的相关代码: 服务:

[ServiceContract]
public interface IPlaceService
{
    [OperationContract]
    [WebInvoke(Method = "GET",
                ResponseFormat = WebMessageFormat.Json,
                BodyStyle = WebMessageBodyStyle.Wrapped,
                UriTemplate = "places")]
    PlaceModel Get();
}

public class PlaceService : IPlaceService
{
    public PlaceModel Get()
    {
        return new PlaceModel
        {
            Count = 123,
            Title = "Title",
            Description = "Desc",
        };
    }
}

合同:

[DataContract]
public class PlaceModel
{
    [DataMember(Name="count")]
    public int Count { get; set; }

    [DataMember(Name = "title")]
    public string Title { get; set; }

    [DataMember(Name = "description")]
    public string Description { get; set; }
}

结果:

{"GetResult":{"count":123,"description":"Desc","title":"Title"}}

有人知道如何从我的JSON结果中删除"GetResult"吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现解决方案受到this post的启发。

只需将BodyStyle的{​​{1}}更改为

即可
[OperationContract]

修复它,现在我收到了:

BodyStyle = WebMessageBodyStyle.Bare,