WCF入门(五)---创建WCF服务
使用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服务的更多相关文章
- 使用WCF Data Service 创建OData服务
使用WCF Data Service 创建OData服务 在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主 ...
- DevExpress XtraReports 入门五 创建交叉表报表
原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...
- WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务
在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...
- Wcf for wp8 创建wcf服务 连接wp8模拟器并显示来自wcf服务的接口信息 (一)
下载: vs2012 pro for wp8 iis express http://download.microsoft.com/download/B/2/8/B2801FEE-9A60-4AFA-8 ...
- WCF入门, 到创建一个简单的WCF应用程序
什么是WCF? WCF, 英文全称(windows Communication Foundation) , 即为windows通讯平台. windows想到这里大家都知道了 , WCF也正是由微软公 ...
- WCF入门(十)——服务对象模型
当发生一次WCF请求-响应操作时,会经过如下几个步骤 WCF Client想WCF Server发送一个服务请求 WCF Server创建WCF服务对象 WCF Server调用WCF服务对象接口,将 ...
- WCF入门教程三[WCF的宿主]
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...
- 无废话WCF入门教程三[WCF的宿主]
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...
- 【转】WCF入门教程三[WCF的宿主]
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...
- WCF入门教程3——WCF通信模式
本章内容 请求/响应模式 单工模式 双工模式 WCF异步调用 请求与响应模式 请求/响应 请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以前 ...
随机推荐
- 跨域名设置cookie或获取cookie
可以使用jquery里面的ajax中的jsonp的方式来访问就可以了.代码如下: $.ajax({ url: 'your url', data: {'xx' : 'xx', 'xx2' : 'xx2' ...
- php威盾解密的例子分享
例子,批量解密 代码如下 复制代码 <?php/************************************威盾PHP加密专家解密算法 By:zhrt*http://www.111 ...
- 仿UC天气下拉和微信下拉眼睛头部淡入淡出--第三方开源--PullLayout
Android-PullLayout是github上的一个第三方开源项目,该项目主页是:https://github.com/BlueMor/Android-PullLayout 原作者项目意图实现类 ...
- 微软职位内部推荐-Senior SDE for Big Data
微软近期Open的职位: Title: Senior SDE The Big Data Tooling team looking for a talented and passionate devel ...
- UIScrollView显示超出屏幕大小的内容
1:UIScrollView在初始化的时候可以指定frame,它的frame和其他控件不太一样的地方是: 它的frame指的的“可视大小”,也就是我们指定多大的frame来看一张图片,当然最大就是屏幕 ...
- 查看Linux磁盘空间大小
一.df 命令: df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置: 举例: [root@localhost beinan ...
- android 开发,多个线程共用一个handler
在做项目过程中,突然发现,项目中启动了多个线程,但是只有一个handler,而不需要每一个线程单独开一个handler,记下笔记: handler = new Handler() { @Overrid ...
- Useful related java API for Android
Language_suport and Other Language-Oriented API: strings,exceptions, threads, #java.lang.* offers th ...
- android studio 智能提示忽略大小写
Step1: Step2:
- angular入门系列教程2
主题: 本篇主要介绍下angular里的一些概念,并且在咱们的小应用上加上点料.. 概念(大概了解即可,代码中遇到的会有详细注释): 模板:动态模板,是动态的,直接去处理DOM的,而不是通过处理字符串 ...