服务端的实现:

1.IService1.cs:

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;

namespace WcfService1
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "Say")]
        string Say();

        [OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "SayHello/{value}/{a}")]
        string SayHello(string value,string a);

        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "Speak")]
        string Speak();

        [OperationContract]
        [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "SpeakHello")]
        string SpeakHello(string a);
    }
}

2.Service1.svc.cs:

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfService1
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。
    public class Service1 : IService1
    {

        public string Say()
        {
            return "HelloWorld";
        }

        public string SayHello(string value, string a)
        {
            return "Hello:" + value + "," + a;
        }

        public string Speak()
        {
            return "Hello:Android";
        }

        public string SpeakHello(string a)
        {
            return "Hello:Android +Listen:" + a;
        }
    }
}

3.Web.config:

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="webHttp">
          <webHttp helpEnabled="true" automaticFormatSelectionEnabled="true"/>
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors">
          <!-- 将下列元素添加到服务行为配置中。 -->
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug
      includeExceptionDetailInFaults="true"
    />
        </behavior>
      </serviceBehaviors>

    </behaviors>
    <services>
      <service name="WcfService1.Service1" behaviorConfiguration="MyServiceTypeBehaviors">
        <endpoint address="" binding="webHttpBinding" behaviorConfiguration="webHttp" contract="WcfService1.IService1"/>
        <!--<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />-->
      </service>
    </services>
  </system.serviceModel>
  <system.web>
    <compilation debug="true"/>
  </system.web>
</configuration>

注意:必须添加:binding=“webHttpBinding"behaviorConfiguration=“webHttp”

4.浏览器访问如图:

5.查看帮助文档:

注意将配置文件下面的节点下面加上:

<endpointBehaviors>
        <behavior name="webHttp">
          <webHttp helpEnabled="true" automaticFormatSelectionEnabled="true"/>
        </behavior>
</endpointBehaviors>

设置helpEnabled=“true”

Android访问WCF

WCF服务端 VS2010工程下载