WCF详解

来源:互联网 发布:最新网络排行榜 编辑:程序博客网 时间:2024/05/29 13:45

(附上一篇对WCF基础讲解挺详细的一篇文章http://www.cnblogs.com/wayfarer/archive/2008/04/15/1153775.html)   

 WCF是.NET提供的一种服务,可以将自己写的程序(完成特定功能,比如从数据库中读取数据操作等)分装成服务以后,发布到服务器上。然后会生成一个网址,客户端在编程的时候,可以引用这个服务,使用这个服务中提供的功能。

    举个实际的例子,我想从数据库中读取相关文章数量大于3的基因,数据库表GeneSymbol,包含两个字段(genename,count),现在我想每次给数据库一个参数n(代表文章数量count),返回符合条件的基因数量。

(这里有人会说,我直接操作数据库不就好了嘛,或者我在本地写程序,访问数据库也是可以的,为啥要用服务呢?我个人的理解是,这样可以将共有的功能封装起来,便于大家共享,比如其他很多人也和我有类似的需求)

实现步骤:

1、新建一个WCF服务程序


2、在1中写需要执行函数的声明,在2中写上对应的函数实现(我的例子中试对数据库的操作以及返回值)


3、在本地进行调试,运行WcfTestClient.exe(这个应用程序,我电脑上的路径是C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE)将对应的参数进行输出,看是否能得到相应的输出结果。测试成功后进行发布;

4、发布时,工程右键,发布。可以看到下图的界面,点击新建文件(图中红色部分)


5、局域网发布的话,一般点File System即可。如果要发布到阿里云服务器这样可以对外的,可以用FTP


6、选择要生成发布文件的位置即可


7、以下是发布后得到的文件


8、在本地发布生成发布文件后,如果我想让它在局域网(在阿里云上是类似的)的服务器上发布,将本地发布生成的文件拷贝到服务器上某个位置(比如E:\TEST),然后打开服务器上IIS管理器,如下图所示。这是我远程桌面操作的截图,打开后,点击左侧“网站”->“新建”->”网站” 会出现如下界面。这里注意,网站的IP地址就是服务器的地址。(因为是发布到该服务器上),自己为它指定一个端口。如下:然后点击下一步

9、这里的路径,就是刚才在本地发布后,拷贝过来的文件所在的路径,和上面的统一,是E:\TEST,找到它,添加进来即可


10、这样,不出意外的话,在右击左侧网站,浏览,就会得到一下的



11、发布成功后,会生成一个网址,这是我这次发布所生成的网址

http://172.16.200.22:8012/Service1.svc?wsdl
这样就成功生成一个服务,以后每次使用,我只需要调用这个服务就可以了~
使用服务的说明

在本地的工程中添加引用时,选择添加一个服务,把上面生成的这个网址添加进去,在本地工程中直接使用就可以了,别忘了添加服务的名字

【备注】发布网址类似的

【参考】http://www.cnblogs.com/iamlilinfeng/archive/2012/10/01/2706353.html

关于web Service 和WCF的区别http://www.cnblogs.com/xiurui12345/archive/2012/03/30/2425445.html




原创粉丝点击