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

举个实际的例子,我想从数据库中读取相关文章数量大于3的基因,数据库表GeneSymbol,包含两个字段(genename,count),现在我想每次给数据库一个参数n(代表文章数量count),返回符合条件的基因数量。有人会说,直接在本地调用不就好了吗,但本地调用存在另一个问题,就是无法灵活的控制动作的行为。使用WCF,一旦想对返回基因数量的规则作出改变的话,无需改动客户端代码(客户端甚至无需做任何改变),只需改动WCF服务即可。

实现步骤:
1、新建一个WCF服务程序

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

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

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

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

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

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

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

10、发布成功后,会生成一个网址,这是我这次发布所生成的网址
http://172.16.200.22:8012/Service1.svc?wsdl
这样就成功生成一个服务,以后每次使用,我只需要调用这个服务就可以了~

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

然后就可以按照如下的代码格式调用

class Test
{
static void Main()
{
Service1Client client = new Service1Client();
// 使用 "client" 变量在服务上调用操作。
// 始终关闭客户端。
client.Close();
}
}

【WCF】解析WCF服务的搭建的更多相关文章

  1. 真实世界:使用WCF扩展记录服务调用时间

    WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服 ...

  2. 使用WCF扩展记录服务调用时间

    随笔- 64  文章- 0  评论- 549  真实世界:使用WCF扩展记录服务调用时间   WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Lay ...

  3. WCF系列教程之WCF客户端调用服务

    1.创建WCF客户端应用程序需要执行下列步骤 (1).获取服务终结点的服务协定.绑定以及地址信息 (2).使用该信息创建WCF客户端 (3).调用操作 (4).关闭WCF客户端对象 二.操作实例 1. ...

  4. WCF扩展记录服务调用时间

    WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服务模型层(Serv ...

  5. WCF初探-10:WCF客户端调用服务

    创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: ...

  6. 跟我一起学WCF(11)——WCF中队列服务详解

    一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务队列的方法来支持客户端 ...

  7. WCF入门(三)---WCF与Web服务/Web Service

    下面列出了WCF和Web服务之间存在一些重大差异. 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMet ...

  8. XML配置silverlight ,wcf 解析xml

    XML 代码: <?xml version="1.0" encoding="utf-8" ?><ChartSet  xmlns:xsi=&qu ...

  9. 使用Fiddler解析WCF RIA Service传输的数据

    原文 http://www.cnblogs.com/wintersun/archive/2011/01/05/1926386.html 使用Fiddler 2 解析WCF RIA Service传输的 ...

  10. WCF中队列服务详解

    WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...

随机推荐

  1. Java大数相乘-hdu1063

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 题目描述: 代码实现: import java.util.Scanner; import jav ...

  2. 【python】函数式编程

    No1: 函数式编程:即函数可以作为参数传递,也可以作为返回值  No2: map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的 ...

  3. 利用OpenVPN实现局域网内多台机器共享上网

    本文转载自 https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14- ...

  4. java.util.List API解读

    list的API 如下: 下面是我对这段API的翻译 An ordered collection (also known as a sequence). 一个有序的集合(也被称为序列) The use ...

  5. 001.NoSQL及MongoDB简介

    一 NoSQL简介 二 分布式系统 三 CAP及BASE定律 以上均可参考: http://www.runoob.com/mongodb/nosql.html 四 MongoDB简介 参考:http: ...

  6. mySql的UDF是什么

    CRUD:添删改查 UDF是mysql的一个拓展接口,UDF(Userdefined function)可翻译为用户自定义函数,这个是用来拓展Mysql的技术手段. 1 MySQL简介 MySQL是最 ...

  7. 在cikuapi.com上抓取相关词

    最近用到文本相关性计算,要在开放域语料上操作,找了好久没找到好的方法,后来看到了清华的梁斌老师建的cikuapi,上面能查询一些相关词,自己写代码爬的时候出现中文解码问题,遂到Github上找了下相关 ...

  8. jquery实时获取时间

    $(document).ready(function(){ function time(){ var date=new Date(); var h=date.getHours(); var m=dat ...

  9. [python]UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd'

    有关编码问题,一直以来都是十分头疼的问题.代码中的字符编码其实还好,但是由于使用的window系统,会用Window的默认编码去解析文本. 今天用脚本在写文件的时候,就总是弹出UnicodeEncod ...

  10. Codeforces.666E.Forensic Examination(广义后缀自动机 线段树合并)

    题目链接 \(Description\) 给定串\(S\)和\(m\)个串\(T_i\).\(Q\)次询问,每次询问\(l,r,p_l,p_r\),求\(S[p_l\sim p_r]\)在\(T_l\ ...