学习 WCF (6)--学习调用WCF服务的各种方法
来源:互联网 发布:什么是it管理 编辑:程序博客网 时间:2024/06/08 19:03
学习 WCF (6)--学习调用WCF服务的各种方法
开发工具调用WCF
这中方法很方便也很简单,很多工作VS就帮我们完成了。相信大家也不会对这种方法陌生。这里简单提一下。打开VS,在项目中添加服务引用:
在config中自动声明了有关服务的节点信息,这样VS就创建了调用服务的代理:
poxy.服务中相应的方法。
C#动态调用WCF
这个方法比较实用,可以通过工具或代码生成代理类Proxy.cs,来和WCF进行交互。不需要人为的手动进行服务的引用。生成代理类,这里我里用了工具:SvcUtil.exe,没有的朋友可以下载:SvcUtil.rar
使用方法很简单,只需将SvcUtil.exe随便放置一个位置(这里放在C:/新建文件夹)。在命令提示行中输入如下指令:
这里要注意的是SvcUtil.exe后面是服务的地址,会在工具所在的目录下生成代理类文件:
工具会给我们生成一个代理类文件,代码如下:
把这个代理类考到客户端程序就可以对WCF进行调用了,这里建议大家用工具生成,自己手写可能会出现错误,生成后如果做稍许的改动,都可能造成错误,影响到信道数据的传输。(但是这里说明一下:这个工具在xp下使用没问题,但是在2003下使用会有问题,不知是不是我2003统的问题)
停在这里就不动了,不知为啥。
大家这里可能会想到用代码生成代理类的方法,但是我试了几次没有成功,文件生成了但是没有内容。不知道为什么。高手指点。
有了这个代理类,工作就好做啦!通过这个代理类就可以调用WCF了。
这样,如果多个服务的方法相同,只是address不同(分布在不同的服务器)。这样的调用是很不错的选择!
除此之外,我们可以采用通道工厂的方式生成客户端服务对象实例,但是前提还是需要上面生成的代理类的帮助。大家可以参看大牛Robin的文章(下面有链接)。
ASP.NET AJAX调用WCF
利用ASP.NET AJAX调用WCF:
我们新建网站一个工程,在其添加启用了Ajax的WCF服务。这样配置文件中会自动的为我们添加关键的节点。
服务中我只是简单的声明了一个方法:
在浏览器中预览我们的服务,然后在地址后加上/js。这样就可以生成用来访问WCF的js代理。
生成js代码:
再来看一下前台页面中的代码:
将ScriptManager中的<script>的path设定为刚生成的js文件。这样,脚本中声明的方法就可以调用WCF的方法了。运行一下:
这样就实现了ASP.NET AJAX对WCF的调用。
JS(jQuery)调用WCF
这里实现的思想和ASP.NET Ajax的有些类似,只不过有一些工作需要我们自己来完成,并且这个方法很灵活。
首先是WCF上:我们要在类和方法前进行如下的声明:
准备工作做好后就可以前台调用了:
小结:以上就是调用WCF的一些方法,希望对大家学习WCF有帮助。也希望大家分享其他调WCF的方法。
参考学习资料:
Robin:http://www.cnblogs.com/jillzhang/archive/2008/07/26/1252171.html
dudu:http://www.cnblogs.com/dudu/archive/2009/07/14/1523082.html
liulun:http://www.cnblogs.com/liulun/articles/1425382.html
- 学习 WCF (6)--学习调用WCF服务的各种方法
- 学习调用WCF服务的各种方法
- 一步一个脚印学习WCF之一WCF概要(中)之客户端与服务-WCF服务的创建与调用Demo
- WCF学习(四)--调用
- wcf学习--建立最简单的WCF服务
- wcf学习--建立最简单的WCF服务
- wcf学习--建立最简单的WCF服务
- 学习 WCF (2)--开发WCF服务
- 学习 WCF (2)--开发WCF服务
- WCF学习--WCF服务实例模式
- WCF学习-构建WCF服务(3)
- WCF学习之“单向服务”
- WCF学习之“双工服务”
- 深入学习WCF-服务寄宿
- 深入学习WCF-REST服务
- 【WCF】WCF框架学习
- WCF学习(3) 用Windows服务发布WCF服务
- WCF学习-WCF的ABC(2)
- jquery调WCF
- Java实现的几个常用排序算法详细解读
- 将Eclipse中的Web项目部署到Tomcat
- Documentum 中编号标识和type类型的对应关系表(基础)
- 关于用U盘安装win7提示加载驱动程序的解决办法
- 学习 WCF (6)--学习调用WCF服务的各种方法
- export_symbol的使用
- jquery 中substring,substr,split的用法
- cvScalar函数
- eclipse plugin
- PIC以太网开发板——基于微芯最新ENC28J60以太网控制器
- 改良程序的11技巧
- 嵌入式中为什么要用Linux操作系统?
- 查询oracle中所有用户信息