学习WCF之——wcf程序的创建

  这是我参考的主要资料——wcf学习之旅:http://www.cnblogs.com/artech/archive/2007/02/26/656901.html

  首先,如博客上介绍的一样,创建空白的项目解决方案:两类库(Sercive、Constract),两控制台(Client,Host。前者模拟客户端调用服务方法;后者实现服务的寄宿)。下面分别介绍这四个添加项目:

  1、Constract。服务契约,引用System.ServiceMode程序集。把Constract放在前面介绍,是因为WCF采用基于契约的交互方式实现服务的自治的。而一般是通过接口形式定义服务契约,所以在该项目下创建接口ICaculator。 

 

 

 

2、Service。创建服务,实现接口ICaculator。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Contract;
namespace Service
{
    public class CalculatorService:IContracts
    {
        public double Add(double x, double y)
        {
            return x + y;
        }
        public double Subtract(double x, double y)
        {
            return x - y;
        }
        public double Multiply(double x, double y)
        {
            return x * y;
        }
        public double Divide(double x, double y)
        {
            return x / y;
        }
    }
}
CalculatorService

3、Host。WCF服务需要依存一个运行着的进程(宿主),服务寄宿就是为服务指定一个宿主的过程。要点:WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点三要素:地址(address),绑定(binding),契约(Constract)。

   至此时,你可以编译一下项目,设Host为启动项,启动,打开http://localhost:8080/CalculatorService/metadata,看下是否寄宿成功。

   如果你会出现这样的错误:

就用管理员权限打开vs。

4、Client。客户端调用服务。在Host.exe运行的情况下,右击Client项目,添加服务引用

    

posted on 2015-10-17 09:25  zhenghui100  阅读(184)  评论(0编辑  收藏  举报