`
wangdeshui
  • 浏览: 246669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WCF步步为营(一):简单示例

阅读更多

本示例通过一个简单的加法服务,来演示WCF最基本的调用。

1. 新建一个空的Solution,命名为WCFSample,后面会把下面的工程添加进这个解决方案

image

2.新建WCF Service Libaray,命名JackWangWcfService

image

3. 右键JackWangWcfService项目,新建命名为Calc的WCF Service

image

4. 系统会生成一个叫ICalc.cs的接口文件和实现这个接口的Calc.cs的类文件。

image

5. 修改ICalc.cs,这里我们提供一个加法行为,ServiceContract 属性指把实现这个接口的类暴露为服务,OperationContract 指实现这个方法的类暴露为服务的方法。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.Text;

 

namespace JackWangWCFService

{   

    [ServiceContract]

    public interface ICalc

    {

        [OperationContract]

        long Add(int a, int b);

    }

}

 

 

6.  上面的接口只是告诉客户端(使用方)能够使用那些服务,下面修改Calc.cs类来实现这个服务

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.Text;

 

namespace JackWangWCFService

{   

    public class Calc : ICalc

    {

 

        #region ICalc Members

 

        public long Add(int a, int b)

        {

            return a + b;

        }

 

        #endregion

    }

}

 

7.  实现了服务,但是在哪里提供服务呢?这就需要一个宿主来存放并管理服务,添加一个控制台程序,命名JackWangServiceHost, 添加JackWangWCFService和System.ServiceModel的引用。

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using JackWangWCFService;

using System.ServiceModel;

 

namespace JackWangServiceHost

{

    class Program

    {

        static void Main(string[] args)

        {

            using (ServiceHost host=new ServiceHost(typeof(JackWangWCFService.Calc)))

            {

                host.AddServiceEndpoint(typeof(JackWangWCFService.ICalc), new NetTcpBinding(), "net.tcp://localhost:9000/Add");

                host.Open();

                Console.Out.WriteLine("calc web service started at:"+DateTime.Now.ToString());

                Console.ReadLine();

            }

        }

    }

}

 

 

8.下面演示客户端的调用,添加一个控制台程序,命名JackWangServiceClient,添加System.ServiceModel的引用。

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using JackWangWCFService;

using System.ServiceModel;

 

namespace JackWangServiceHost

{

    class Program

    {

        static void Main(string[] args)

        {

            using (ServiceHost host=new ServiceHost(typeof(JackWangWCFService.Calc)))

            {

                host.AddServiceEndpoint(typeof(JackWangWCFService.ICalc),

                    new NetTcpBinding(), "net.tcp://localhost:9000/Add");

                host.Open();

                Console.Out.WriteLine("calc web service started at:"+DateTime.Now.ToString());

                Console.ReadLine();

            }

        }

    }

}

 

9. 启动JackWangServiceHost。

image

10. 启动JackWangServiceClient

image

 

 

分享到:
评论
1 楼 yicone 2011-11-09  
You make a mistake when paste the Client code.

相关推荐

    WCF技术专题:WCF入门与进阶

    讲解WCF技术的,适合各种阶段的学习。从入门到进阶。

    WCF之旅:一个简单的WCF程序(vs2010源码)

    WCF之旅:一个简单的WCF程序(vs2010源码) 文章 + 源码 入门首选文章,折腾了好久才折腾出第一个wcf程序。 对准备学习wcf的人员绝对有意义

    WCF全面解析:上册 part3

    WCF全面解析:上册.part3.rar

    WCF全面解析:上册.part2

    WCF全面解析:上册.part2.rar

    WCF示例源代码WCF示例源代码

    展示了WCF的简单的示例 包括自定义类的访问

    我的WCF之旅:计算器 WCF样例源代码

    我的WCF之旅- 创建一个简单的WCF程序 - Artech WCF入门之选绝佳的例子 代源源于:《WCF全面解析 上》 编程工具:VS2010 语言:C# blog 《IIS站点中部署 WCF项目》

    WCF调用示例源码2012429

    WCF调用示例源码 WCF相关介绍: Windows Communication Foundation(WCF)是由微软发展的一组... 程序示例为WCF的简单应用,如何创建合约,如何配置。程序中有详细的说明注释,请下载源码程序学习使用来自51ASPX。

    WCF全面解析:上册

    《WCF全面解析(套装上下册)》由蒋金楠所著,是作者多年潜心研究WCF技术的心血之作,也是这些年来从事WCF开发的经验总结。 因为上传大小限制,分卷压缩了三个rar,请全部下载完成后解压缩。

    wcf简单示例

    一个演示WCF通信的简单入门示例,供大家学习!

    wcf 代理 wcf开发示例

    wcf 代理 wcf开发示例 wcf 代理 wcf开发示例

    一个非常简单的WCF例子:Hello World

    一个非常简单的WCF例子:Hello World 本解决方案有3个项目: 1、WCFClient:客户端,展示通过wcf后得到的结果,一个小的winform; 2、WCFContrlPanel:主控程序,作为打开/关闭wcf服务的控制面板,winform; 3、...

    一个简单的WCF示例

    一个简单的WCF示例,实现了一个计算器的加减乘除。寄宿方式支持IIS,跟控制台。

    一个简单wcf入门代码示例

    使用Wcf的各种宿主方式代码示例,一看就懂

    WCF开发实战教程

    1:创建第一个WCF服务 2:使用IIS发布WCF服务 3:自运行WCF服务 4:使用Windows服务发布WCF服务 5:创建WCF客户端程序

    WCF 服务协定:双工

    “双工”示例演示如何定义和实现双工协定。 当客户端与服务建立会话并为服务提供可用来将消息发送回客户端的通道时,就会发生双工通信。

    wcfservice示例

    wcfservice示例wcfservice示例wcfservice示例wcfservice示例wcfservice示例

    我的第一个WCF简单示例

    我的第一个WCF简单示例我的第一个WCF简单示例我的第一个WCF简单示例我的第一个WCF简单示例

    wcf demo wcf的一个示例

    wcf的一个示例 初学者可以看看 详细可以去博客园去看看

    WCF实例教程

    1:创建第一个WCF服务 2: 使用IIS发布WCF服务 3:自运行WCF服务 4:使用Windows服务发布WCF服务 5:创建WCF客户端程序

    WCF简单示例(入门级)

    很简单的一个WCF入门实例 自己整理的WCF入门 看了很多书没查到很令人满意的WCF教程 从网上搜集整理了一个

Global site tag (gtag.js) - Google Analytics