[转]VS2010中如何创建一个WCF
本文转自:http://www.cnblogs.com/zhangliangzlee/archive/2012/08/28/2659701.html
转载:http://www.cnblogs.com/thankyou555/archive/2012/02/25/2368029.html
最近才真正接触WCF,实在惭愧,在网上和园子里找很多例子,但发现并没有VS2010创建最新的WCF项目示例,也是最简单的一种方式。做个记录,与新手共享。(本机VS2010为中文版)步骤:
1. 新建项目-WCF-WCF服务应用程序,会有自带服务示例IService1.cs 和Service1.svc。目录结构如下:

然后选择该项目右健,点击生成(切记:项目一定要生成)。然后发布服务,将服务部署在IIS上(该示例以IIS作为宿主),方法和部署正常的网站程序完全一样。然后即可浏览该服务,要记住服务地址,下面会用到,例我的部署地址为:http://localhost/wmlwcf/service1.svc。
但应该注意:IIS中选择添加应用程序,不要选择虚拟目录。效果:

看到如上的页面,说明服务已部署成功。
2. 创建客户端程序:新建项目-Windows-Windows窗体应用程序, 选中项目下“引用”点击鼠标右键,选择“添加服务引用”,弹出“添加服务引用”对话框,地址栏输入刚发布服务地址,我部署地址为:http://localhost/wmlwcf/service1.svc
但应该注意:IIS中选择添加应用程序,不要选择虚拟目录。
会自动找到该解决方案下所有的服务,此时找到刚刚建立的Service1.svc服务。选中服务后,点击确定。

项目中即生成如下服务ServiceRefrence1:

4. 在Windows窗体应用程序下,打开Form1窗体,添加一个按钮,在按钮事件里添加如下代码:
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); string str = client.GetData(100); //100:客户端传给服务端的值,str:服务端传给客户端的值
MessageBox.Show(str);
5. 将Windows窗体应用程序作为解决方案的启动项目,然后F5运行,即可。
至此OK,一个WCF示例完成。WCF服务即发布和运行,且可被客户端进行调用。
[转]VS2010中如何创建一个WCF的更多相关文章
- VS2010中使用Jquery调用Wcf服务读取数据库记录
VS2010中使用Jquery调用Wcf服务读取数据库记录 开发环境:Window Servere 2008 +SQL SERVE 2008 R2+ IIS7 +VS2010+Jquery1.3.2 ...
- Ionic 2 中的创建一个闪视卡片组件
闪视卡片是记忆信息的重要工具,它的使用可以追溯到19世纪.我们将要创建一个很酷的短暂动画来实现它.看起来像是这个样子的: 闪视卡片示例 Ionic 2 实例开发 新增章节将为你介绍如何在Ionic 2 ...
- unity编辑器扩展_03(在组件中右击创建一个选项,并通过该选项修改该组件下面的字段的值)
在组件中右击创建一个选项代码: [MenuItem("CONTEXT/PlayerHealth/InitHealth")] static void Test5() { ...
- 【转载】 C#中手动创建一个DataTable对象并写入数据
在C#操作集合数据的过程中,有时候需要手动创建一个DataTable对象,并手动设置DataTable对象的Columns列名等信息,最后再往手动创建的DataTable对象中写入相应的数据信息,此时 ...
- Step by Step 创建一个WCF Service
原创地址:http://www.cnblogs.com/jfzhu/p/4025448.html 转载请注明出处 (一)创建WCF Service (1)创建WCF Service类库 创建一个Cla ...
- C# 创建一个WCF服务
做代码统计,方便以后使用: app.config配置文件设置: <configuration> <system.serviceModel> <bindings> & ...
- php 中如何创建一个空对象
// 创建一个空对象 $obj=(object)array(); //假设这是从数据库取内容 $arr=["prod_id"=>103,"prod_name&quo ...
- PHP中怎样创建一个空对象?
如果没有声明一个对象然后就对其属性赋值会出现警告.那么我们给它创建一个空对象然后赋值就好了.PHP中创建一个空对象代码如下: 第一种方式: $empty_object = new stdClass() ...
- cocos3.2中如何创建一个场景
1.可以将一些比较通用的东西放到Common.h中,这是一个.h文件,必须手动添加,且保证在classes目录里 #ifndef __COMMON_H__ #define __COMMON_H__ # ...
随机推荐
- 使用 Promises 编写更优雅的 JavaScript 代码
你可能已经无意中听说过 Promises,很多人都在讨论它,使用它,但你不知道为什么它们如此特别.难道你不能使用回调么?有什么了特别的?在本文中,我们一起来看看 Promises 是什么以及如何使用它 ...
- 推荐10个适合初学者的 HTML5 入门教程
HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...
- Gulp.js 参考手册,自动化构建利器
Gulp 是最新的基于 Node 的自动化构建工具,希望能够取代 Grunt,成为最流行的 JavaScript 任务运行器.通过结合 NodeJS 的数据流的能力,只需几步就能搭建起自己的自动化项目 ...
- 安装配置php5.4 win2003
php php-5.4.38 1.下载 http://windows.php.net/downloads/releases/php-5.4.38-Win32-VC9-x86.zip 解压到 D:\we ...
- 关于window.onload
window.onload是当文档加载完成后执行. <script>之间的代码会在代码加载到此处执行.function内的代码是调用时才执行. 但window.onload有个坏处,它非要 ...
- Autodesk Cloud Accelerator Program 开始报名
如果你没有注意到这个消息,那你就会错过一个前往旧金山和硅谷工程师一起工作数周的机会. 摘要一下: 时间: 1月10前提交你的提案,3月飞往旧金山 地点: 旧金山. 包住宿哦~ 不过,既然要去美国,既然 ...
- 关于iOS中的时间
两类 绝对时间 [NSDate date].CFAbsoluteTimeGetCurrent(),或者gettimeofday(). 返回的是从某一个时刻开始,度过的秒数.会随着用户设置的系统时间更改 ...
- Swift获取屏幕快照
// 获取屏幕快照 private func screenShot() -> UIImage{ let window = UIApplication.shared.keyWindow! UIGr ...
- 优化MySchool数据库(一)
<优化MyShcool数据库>:能够的独立的分析|设计|创建|运营|你的独立的数据库系统 设计--->实现--->TSQL--->查询优化---->性能优化技术-- ...
- CommonJS的模块规范
CommonJS对模块的定义十分简单,主要分为模块引用.模块定义和模块标识. 1.模块引用 var math = require('math');//这个方法接受模块标识,以此引入一个模块的API到当 ...