WCF第一个例子

Service(实现服务契约接口的服务类)


namespace Service
{
    public class PersonService:IPersonService
    {
        List<Person> list = new List<Person>();

        #region IPersonService 成员

        public List<Person> GetAllPerson()
        {
            return list;
        }

        public void Add(Person person)
        {
            list.Add(person);
        }

        #endregion
    }
}

Contract(服务契约和数据契约)

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

namespace Contract
{
    [ServiceContract]
    public interface IPersonService
    {
        [OperationContract]
        List<Person> GetAllPerson();

        [OperationContract]
        void Add(Person person);
    }

    [DataContract]
    public class Person
    {
        [DataMember]
        public string Name { get; set; }

        [DataMember]
        public int Age { get; set; }
    }
}

Host(寄宿程序)

 ServiceHost host = new ServiceHost(typeof(PersonService));
            host.Open();
            this.Text = "服务已经启动";

Config(配置文件)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <!--这里的名称必须是实现接口的服务类 ,行为配置使用下面的配置-->
      <service name="Service.PersonService" behaviorConfiguration="test">
       
        <!--这个节点主要是配置基地址-->
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8888"/>
          </baseAddresses>
        </host>

        <!--终结点,一个服务可以指定多个终结点 指定 A address-地址 B binding-绑定的协议 C contract--契约-->
        <endpoint address="" binding="wsHttpBinding" contract="Contract.IPersonService"></endpoint>
      </service>
    </services>

   
    <!--配置 服务对应的行为-->
    <behaviors>
      <serviceBehaviors>
        <!--这里的名称可以随便起-->
        <behavior name="test">
          <!--配置是否通过基地址获取到元数据 true :可以-->
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
   
  </system.serviceModel>
</configuration>

posted @ 2013-04-01 22:38  feidaochuanqing  阅读(95)  评论(0编辑  收藏  举报