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异步调用 请求与响应模式 请求/响应 请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以前 ...
随机推荐
- 强大的网络通信框架(不实现缓存)--第三方开源--AsyncHttpClient
AsyncHttpClient是一款比较流行的Android异步网路加载库,在github上的网址是:https://github.com/loopj/android-async-http但是Asyn ...
- json string 与object 之间的转化
1.将json string转化成object 1: public static T GetObjectFromJson<T>(string jsonString) 2: { 3: Dat ...
- [转]Linux下修改/设置环境变量JAVA_HOME
1. 永久修改,对所有用户有效 # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: export JAVA_HOME = /home/m ...
- Winfrom 抓取web页面内容代码
WebRequest request = WebRequest.Create("http://1.bjapp.sinaapp.com/play.php?a=" + PageUrl) ...
- 自定义一个WPF的PathButton
一.背景 做项目时总是少不了Button,但是普通的Button大家都不喜欢用,总是想要自定义的Button,正好项目中用到不要边框的Button,并且是形状也是根据功能不同而变化的,并且窗口程序是会 ...
- 不逃离WIndows,Asp.Net就只能写写进销存管理系统
那个丹麦人把C#语言弄的再好,但是如果程序放进Windows+IIS这个容器,就有问题了. 我在I5+8G内存的机子上测试Windows2008+IIs,直接ab 2000并发压默认的HTML主页,还 ...
- 关于C与C++的struct,union,enum用法差异
对着代码说话: #include <stdio.h> #include <stdlib.h> struct test { int abc; }; enum _enum {A,B ...
- ServiceStack.OrmLite 调用存储过程
最近在做关于ServiceStack.OrmLite调用存储过程时,有问题.发现ServiceStack.OrmLite不能调用存储过程,或者说不能实现我想要的需求.在做分页查询时,我需要传入参数传出 ...
- Large-Scale Deployment of SharePoint Team Services
http://technet.microsoft.com/en-us/library/cc723713.aspx
- When to use Class.isInstance() & when to use instanceof operator?
I think the official documentation gives you the answer to this one (albeit in a fairly nonspecific ...