使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务。

  • 启动Visual Studio 2012。

  • 单击新建项目,然后在Visual C#标签,选择WCF选项。

WCF服务创建,执行如加法,减法,乘法和除法基本的算术运算。主要的代码是在两个不同的文件 - 一个接口和一个类。

一个WCF中包含一个或多个接口和实现类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text; namespace WcfServiceLibrary1
{
//NOTE: You can use the "Rename" command on the "Refactor" menu to change the
//interface name "IService1" in both code and config file together.
[ServiceContract]
Public interface IService1
{
[OperationContract]
int sum(int num1, int num2); [OperationContract]
int Subtract(int num1, int num2); [OperationContract]
int Multiply(int num1, int num2); [OperationContract]
int Divide(int num1, int num2);
} //Use a data contract as illustrated in the sample below to add composite types
//to service operations.
[DataContract]
Public class CompositeType
{
Bool boolValue = true;
String stringValue = "Hello "; [DataMember]
Public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
} [DataMember] Public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}

而其后面是类的代码,

using System;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Runtime.Serialization;
usingSystem.ServiceModel;
usingSystem.Text; namespace WcfServiceLibrary1
{
//NOTE: You can use the "Rename" command on the "Refactor" menu to change the
//class name "Service1" in both code and config file together. publicclassService1 :IService1
{
/// This Function Return summation of two integer numbers publicint sum(int num1, int num2)
{
return num1 + num2;
}
///This function returns subtraction of two numbers.
///If num1 is smaller than number two then this function returns 0. publicint Subtract(int num1, int num2)
{
if (num1 > num2)
{
return num1 - num2;
}
else
{
return 0;
}
}
///This function returns multiplication of two integer numbers. publicint Multiply(int num1, int num2)
{
return num1 * num2;
}
///This function returns integer value of two integer number.
///If num2 is 0 then this function returns 1. publicintDivide(int num1, int num2)
{
if (num2 != 0)
{
return (num1 / num2);
}
else
{
return 1;
}
}
}
}

要运行此服务,请在Visual Studio中点击开始按钮。

当我们运行这个服务,下面的屏幕会出现。

上点击sum方法,在下面的页面将被打开。在这里,可以输入任何两个整数,然后单击Invoke按钮。该服务将返回这两个数字的总和。

像求和,我们可以执行哪个都列在菜单中的所有算术运算。这里是捕捉他们。

当点击下页将出现在Sutbtarct方法。输入整数,点击调用按钮,得到的输出如下所示。

下页将出现在Multiply方法单击时。输入整数,点击调用按钮,得到的输出如下所示。

下面的页面上会出现当点击Divide方法时。输入整数,点击调用按钮,得到的输出如下所示。

一旦服务被调用,可以在它们之间,直接从这里切换。

原文地址:http://www.yiibai.com/wcf/wcf_creating_services.html

WCF入门(五)---创建WCF服务的更多相关文章

  1. 使用WCF Data Service 创建OData服务

    使用WCF Data Service 创建OData服务 在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主 ...

  2. DevExpress XtraReports 入门五 创建交叉表报表

    原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...

  3. WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务

    在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...

  4. Wcf for wp8 创建wcf服务 连接wp8模拟器并显示来自wcf服务的接口信息 (一)

    下载: vs2012 pro for wp8 iis express http://download.microsoft.com/download/B/2/8/B2801FEE-9A60-4AFA-8 ...

  5. WCF入门, 到创建一个简单的WCF应用程序

    什么是WCF?  WCF, 英文全称(windows Communication Foundation) , 即为windows通讯平台. windows想到这里大家都知道了 , WCF也正是由微软公 ...

  6. WCF入门(十)——服务对象模型

    当发生一次WCF请求-响应操作时,会经过如下几个步骤 WCF Client想WCF Server发送一个服务请求 WCF Server创建WCF服务对象 WCF Server调用WCF服务对象接口,将 ...

  7. WCF入门教程三[WCF的宿主]

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...

  8. 无废话WCF入门教程三[WCF的宿主]

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...

  9. 【转】WCF入门教程三[WCF的宿主]

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...

  10. WCF入门教程3——WCF通信模式

    本章内容 请求/响应模式 单工模式 双工模式 WCF异步调用 请求与响应模式 请求/响应     请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以前 ...

随机推荐

  1. res/raw文件的存放和读取

    通常,如果Android开发者有些文件比如音频,视频,.html,.mp3等等这些文件不希望编译器编译而保持原始原貌打包进apk文件(这在游戏开发中很常见和普遍,如游戏用到的游戏音乐.图等资源),那么 ...

  2. xv6实验环境搭建

    安装bochs 因为要运行的是xv6,所以不能直接使用 apt-get 直接获取软件.apt-get获取到的软件不支持SMP (Symmetric Multi-Processing).因此,需要下载源 ...

  3. ES5中的有9个Array方法

    Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array ...

  4. 【C#】线程池

    将方法排入队列以便执行,并指定包含该方法所用数据的对象.此方法在有线程池线程变得可用时执行. class Program { static void Main(string[] args) { str ...

  5. 常见前端面试题之HTML/CSS部分

    转自http://www.cnblogs.com/jscode/archive/2012/07/10/2583856.html Doctype是什么?如何触发严格模式与混杂模式模式?区分它们有何意义? ...

  6. yii2怎样写规则可以隐藏url地址里的控制器名字

    yii2怎样写规则可以隐藏url地址里的控制器名字,例如现在的是***.com/site/index.html要变成***.com/index.html '<action:index>.h ...

  7. D3js

    http://d3js.org http://blog.csdn.net/lzhlzz/article/details/27497157

  8. Cocos2dx中的四种控件及主要用法

    1.控件:即控制对象,控制按钮之类的精灵 2.主要介绍四大类控件: CCControlSlider:进度条 CCControlSwitch:开关 CCScale9Sprite:9妹图(用于缩放) CC ...

  9. action间传多个参数时注意问题

    通常我们action之间传参可以有多种形式,举例说明:示例1: <result name="test" type="redirect-action"> ...

  10. Java多线程——<五>后台线程(daemon)

    一.后台线程(守护线程) 学一个东西,最重要的一点就是,为什么要用它? 后台线程区别于普通线程,普通线程又可以称为用户线程,只完成用户自己想要完成的任务,不提供公共服务.而有时,我们希望编写一段程序, ...