WCF返回JSON的详细配置

开发环境:VS2008,c#

1.新建个WCF服务网站

文件-新建-网站-WCF服务

2,运行一下,提示配置WEB.CONFIG,点击确认.

3,打开web.config增加如下节点:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
  </serviceHostingEnvironment>

 endpoint 中增加 behaviorConfiguration="webBehavior"

<endpointBehaviors>
    <behavior name="webBehavior">
     <webHttp/>
    </behavior>
   </endpointBehaviors>

处理完以上3处之后,web.config就OK了.

4,IService.cs 增加:

[OperationContract]
    [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
    List<CompositeType> Test();

Service.cs 增加:

public List<CompositeType> Test()
    {
        List<CompositeType> lst = new List<CompositeType>();
        CompositeType type = new CompositeType();
        type.BoolValue = true;
        type.StringValue = "22";
        lst.Add(type);
        CompositeType type2 = new CompositeType();
        type2.BoolValue = false;
        type2.StringValue = "33";
        lst.Add(type2);
        return lst;
    }

CompositeType类:

[DataContract]

public class CompositeType

{     bool boolValue = true;     string stringValue = "Hello ";

    [DataMember]    

public bool BoolValue     {         get { return boolValue; }         set { boolValue = value; }     }

    [DataMember]    

public string StringValue     {         get { return stringValue; }         set { stringValue = value; }     }

}

5,Service.cs 增加

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

6,运行测试,如:

http://localhost:1177/WCFData/Service.svc

手动输入:http://localhost:1177/WCFData/Service.svc/Test

返回:[{"BoolValue":true,"StringValue":"22"},{"BoolValue":false,"StringValue":"33"}]

测试成功!

posted on 2016-08-02 18:59  丐帮大侠  阅读(2535)  评论(0编辑  收藏  举报

导航