WCF 入门调用实例教程
WCF的相关概念信息就不在此赘述了,网上一搜一大把。
现在让我们动手搭建我们的第一个wcf程序吧,具体流程如下:
1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序。
2、建立完成后如下图所示:
2、删除系统生成的两个文件IService1.cs与Service1.svc(或者自己重命名,在系统生成的基础文件中进行编码,此处感觉重命名麻烦,于是选择删除--新建)
3、添加自定义的WCF【服务文件】Test.svc
5、此时vs2010会自动生成WCF接口文件ITest.cs
6、我们在ITest中定义WCF方法TransferTest,在Test.svc.cs对该接口的方法进行实现,代码如下:
namespace WCFServiceDemo_gf {// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“ITest”。 [ServiceContract]public interface ITest{[OperationContract]string TransferTest(int num);} } namespace WCFServiceDemo {public class Test : ITest{public string TransferTest(int num){return "第" + num + "次WCF调用成功!";}} }
View Code
可以看到,在WCF中的接口与普通接口的区别只在于两个上下文,其他的和我们正常学习的接口一样。定义这个上下文要添加System.ServiceModel的引用。[ServiceContract],来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。[OperationContract],来说明该方法是一个WCF接口的方法,不加的话同上。
7、此时我们的第一个WCF服务程序就建立好了,将Test.svc“设为起始页”,然后F5运行一下试试,如下图所示,VS2010自动调用了WCF的客户端测试工具以便我们测试程序:
8、我们双击上图中的 TransferTest() 方法,出现如下图:
在请求窗口中的值中输入参数“99”,然后点击“调用”,在响应窗口中会出现返回值“"第99次WCF调用成功!",说明测试成功,点击下面的XML也可以看到XML的数据传输。
9、我们设计测试的场景是在生产中经常应用的场景,把WCF程序寄宿在IIS之上。假设场景如下:【A服务器】和【B服务器】。我们把我们刚刚建立的WCF程序“部署”在【B服务器】上,我们的目标是在【A服务器】的应用程序来访问【B服务器】的WCF程序,实现服务器端的应用程序通讯。
首先我们将WCF应用程序发布一下,然后部署在B服务器的IIS之上,
详细部署步骤如下参考不做太多解释:
http://blog.csdn.net/jiankunking/article/details/44118911
效果如图下面两张展示即可成功
10、我们在客户端【A服务器】]创建服务的引用。
我们这里以WinForm应用程序为例,建立地物理地址为【B服务器】的ip
新建解决方案,并且创建WinForm应用程序的项目。命名为:WCFClient,如下图所示:
接下来我们添加在之前部署的服务的引用。如下图所示:
然后确定。
此时我们完成了对服务的引用。我们再次查看解决方案,里面多了Service References的文件夹,通过资源管理器打开后里面多了些文件,这些文件用于客户端向服务端的调用。
在Form窗体上,添加一个button,并添加button1_Click事件,在button1_Click具体的调用方法如下:
private void button1_Click(object sender, EventArgs e){WCFservice.TestClient tc = new WCFservice.TestClient();string str = tc.TransferTest(77777);MessageBox.Show(str);}
View Code
注意:在写事件之前注意引用using WCFClient.WCFservice;
然后我晕运行,搞起如下图所示:
通过以上的例子,我们完成了由A服务器的应用向B服务器中WCF提供的方法的调用。
转载于:https://www.cnblogs.com/inthere/p/7878480.html
WCF 入门调用实例教程相关推荐
- Flux --gt; Redux --gt; Redux React 入门 基础实例教程
本文的目的很简单,介绍Redux相关概念用法 及其在React项目中的基本使用 假设你会一些ES6.会一些React.有看过Redux相关的文章,这篇入门小文应该能帮助你理一下相关的知识 一般来说,推 ...
- createjs php通信,快速入门createjs实例教程
开始用createjs这个框架的时候,发现网上的相关教程还是挺少的,所以写一篇文章,方便日后查看. createjs简介 官网:http://www.createjs.cc/ createjs中包含以 ...
- vi(vim)入门简明实例教程---总览全局 快速入门
正文 1.Starting And Stopping vi 启动和退出vi 我们需要学习的第一件事就是如何启动和退出vi. 启动vim只需要键入 qiaoqiao@ubuntu:~$ vi 即可, ...
- 阿里云话费api调用实例教程
接口地址 http://f.ihuyi.com/phone 1.单号码充值话费 请求(POST 或者GET) 类型 参数名称 参数值描述 参数 action recharge 参数 username ...
- php页面get方法实现ajax,入门实例教程
ajax,入门实例教程 本例针对php页面,做了一个小的demo加深对ajax的理解 1.文档结构: 共有ajax.php 和action.php 2个页面. 2.源码如下: /*ajax.php页面 ...
- [转]React 入门实例教程
React 入门实例教程 作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获 ...
- WCF 入门之旅(4): 怎样用客户端调用WCF服务
WCF 入门之旅(4): 怎样用客户端调用WCF服务 前面的demo已经能够跑起来,现在开始考虑用客户端来测试所写的应用了,首先用个普通的应用程序来调用所写的wcf服务吧.其实最后运行wcf服务后的页 ...
- axis2 webservice入门学识(JS,Java,PHP调用实例源码)
来源:http://www.myexception.cn/web/952419.html axis2 webservice入门知识(JS,Java,PHP调用实例源码) 背景简介 最近接触到一个银行接 ...
- wxpython中文教程_wxPython中文教程 简单入门加实例
wxPython中文教程简单入门加实例 博客分类: Python 2 / Wxpython wxPythonPython编程浏览器脚本 wx.Window 是一个基类,许多构件从它继承.包括 wx.F ...
- Phaser 3 入门实例教程
Phaser是什么? Phaser是一个HTML5游戏框架,目的是为了快速地制作跨浏览器的HTML5游戏. 这个框架,主要发掘了现代浏览器(兼及桌面和移动两类系统)的优点,所以对浏览器的唯一要求是,就 ...
最新文章
- Oracle SQL优化
- centos7编译安装mysql5.7_在Centos7源码包编译安装MySQL5.7
- 深入理解Java:注解(Annotation)基本概念
- Springboot-RabbitMq 参数配置详解
- python如何确定拐点_多年股市老鸟买卖操作经验——如何在波段操作确定买入点!经典...
- .NET Core WebAPI Swagger使用
- 美国太空部队加入美国情报系统,以确保太空的安全
- 第 二 十 八 天 :监 控 软 件 之 cacti
- gcc详解以及静态,动态库的生成 1
- 微博认证怎么弄黄v:微博兴趣认证指定领域
- 超实用windows软件推荐!新电脑必装哪些软件?
- 手把手教你用Python创建SQL数据库~
- 计算机二级幻灯片母版奇数页,计算机二级office考试中PPT母版知识考察点有哪些...
- git add 之后没有push 怎么找回代码?
- 11尺寸长宽 iphone_iPhone11屏幕尺寸
- MySQL高级篇——锁的概述与案例应用
- 开源库UniTask笔记
- 微信小程序 图片等比例缩放(图片自适应屏幕)
- 苹果开放降级_苹果降级对手机有什么坏处
- 基于Win10单机部署kubernetes应用
热门文章
- DotNetNuke(DNN) 中查询所有管理员的SQL语句
- 使用构造方法注入和setter注入的配置文件
- 使用Python删除Windows中只读文件
- 递归打印目录层次(java版)
- [bzoj] 2694 Lcm || 莫比乌斯反演
- asp.net生成随机数或字母验证码代码
- flash xml+textArea组件+CSS
- Android studio 无法启动安卓模拟器
- 02在Windows Server 2008R2上面将客户端加入域
- JAVA爬虫Nutch、WebCollector的正则约束