`
wangdeshui
  • 浏览: 255713 次
  • 性别: 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入门与进阶

    Windows Communication Foundation(WCF)是微软推出的一种面向服务的架构,用于构建可互操作的分布式应用程序。它整合了.NET框架中的多种通信技术,如ASMX、Remoting、Web Services等,提供了一种统一的方式来创建...

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

    **WCF之旅:一个简单的WCF程序** Windows Communication Foundation (WCF) 是微软.NET Framework中的一个核心组件,用于构建分布式应用程序。它提供了一种统一的编程模型,可以创建跨平台、安全、可靠的网络服务。...

    WCF全面解析:上册 part3

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

    WCF教程WCF教程

    1. 创建并运行简单的WCF服务和客户端。 2. 配置不同的绑定和终结点。 3. 实现安全性和事务性服务。 4. 扩展WCF以适应特定的业务场景。 总的来说,这个WCF教程旨在帮助您从新手到专家,掌握构建、部署和管理高效、...

    WCF全面解析:上册.part2

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

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

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

    WCF 服务协定:双工

    WCF(Windows Communication Foundation)是微软.NET框架中的一种高级通信技术,它提供了创建分布式应用程序的强大工具。在WCF中,服务协定是定义服务行为的核心元素,它描述了服务能够提供哪些操作以及如何与这些...

    WCF调用示例源码2012429

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

    WCF全面解析:上册

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

    wcf demo wcf的一个示例

    标题"WCF demo wcf的一个示例"表明这个压缩包包含了一个演示如何使用WCF来创建服务的实例。这通常会涉及到创建服务合同、实现服务、配置服务以及客户端调用服务的基本步骤。 描述中提到"初学者可以看看",意味着这...

    WCF 原理,讲述及其示例

    而"wcf1.zip"可能是一个包含示例代码或者额外配置文件的压缩包,帮助理解并实践WCF服务的开发和部署。 总的来说,理解和掌握WCF原理对于开发分布式系统和企业级应用至关重要。通过IIS宿主,开发者可以利用IIS的管理...

    一个简单的WCF示例

    在本示例中,我们将深入探讨如何使用WCF创建一个简单的计算器服务,实现加、减、乘、除四种基本运算。 首先,我们从创建服务接口开始。在.NET环境中,一个WCF服务通常由一个接口定义,这个接口定义了服务提供的操作...

    WCF中使用泛型效果示例

    在本文中,我们将深入探讨如何在Windows Communication Foundation(WCF)服务中使用泛型,通过具体的示例来阐述这一技术的应用。WCF是.NET框架中的一个关键组件,用于构建分布式应用程序,而泛型则是一种强大的编程...

    wcf 代理 wcf开发示例

    WCF(Windows Communication Foundation)是微软.NET框架的一部分,它提供了一种用于构建分布式应用程序的强大而灵活的服务模型。在WCF中,代理是一个重要的概念,它充当客户端与服务之间的桥梁,使得客户端可以调用...

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

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

    wcf简单示例

    通过"WinWcfOne"这个示例,你将学习到如何创建、配置和运行一个简单的WCF服务,以及如何在客户端消费这个服务。这只是一个起点,深入WCF世界,你会发现更多强大的功能和灵活性,比如支持多种传输协议、自定义绑定、...

    一个简单的wcf示例,通俗易懂

    这个"一个简单的WCF示例"提供了从服务端到客户端的完整通信流程,让我们深入了解一下WCF的核心概念和关键组成部分。 首先,**契约(Contract)**是WCF的核心,它定义了服务提供的操作和服务接口。在示例中,可能会...

    Rab.WcfSample.rar_wcfiis_wcfiis示例下载

    本资源“Rab.WcfSample.rar”提供了一个关于WCF的示例代码集,特别关注了WCF在IIS(Internet Information Services)环境下的使用和配置。下面我们将深入探讨这些关键知识点。 首先,我们要理解WCF的基本概念。WCF...

    一个简单wcf入门代码示例

    本教程将通过一个简单的WCF入门代码示例,帮助你快速理解其基本概念和工作原理。 ### 一、WCF服务创建 1. **定义服务合同**:在WCF中,服务的功能是由服务合同定义的,通常是接口形式。例如,创建一个名为`...

    WCF简单示例(入门级)

    **Windows Communication Foundation (WCF) 简单示例(入门级)** Windows Communication Foundation(WCF)是Microsoft提供的一种全面、统一的编程模型,用于构建面向服务的应用程序。它结合了.NET框架中的多种...

Global site tag (gtag.js) - Google Analytics