【WCF】解析WCF服务的搭建
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服务的搭建的更多相关文章
- 真实世界:使用WCF扩展记录服务调用时间
WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服 ...
- 使用WCF扩展记录服务调用时间
随笔- 64 文章- 0 评论- 549 真实世界:使用WCF扩展记录服务调用时间 WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Lay ...
- WCF系列教程之WCF客户端调用服务
1.创建WCF客户端应用程序需要执行下列步骤 (1).获取服务终结点的服务协定.绑定以及地址信息 (2).使用该信息创建WCF客户端 (3).调用操作 (4).关闭WCF客户端对象 二.操作实例 1. ...
- WCF扩展记录服务调用时间
WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服务模型层(Serv ...
- WCF初探-10:WCF客户端调用服务
创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: ...
- 跟我一起学WCF(11)——WCF中队列服务详解
一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务队列的方法来支持客户端 ...
- WCF入门(三)---WCF与Web服务/Web Service
下面列出了WCF和Web服务之间存在一些重大差异. 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMet ...
- XML配置silverlight ,wcf 解析xml
XML 代码: <?xml version="1.0" encoding="utf-8" ?><ChartSet xmlns:xsi=&qu ...
- 使用Fiddler解析WCF RIA Service传输的数据
原文 http://www.cnblogs.com/wintersun/archive/2011/01/05/1926386.html 使用Fiddler 2 解析WCF RIA Service传输的 ...
- WCF中队列服务详解
WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...
随机推荐
- MongoDB+php7搭建
0x00前言: 今天一位非计算机专业的朋友问我怎么打开.bson文件,我第一反应.bson文件是什么,网上查了下是mongodb的传输文件.也就是类似于mysql的.sql文件一样 之前看过mongo ...
- Looping through the content of a file in Bash
https://stackoverflow.com/questions/1521462/looping-through-the-content-of-a-file-in-bash One way to ...
- 将ant Design本地化,可通过link以及script直接引入html中使用
一直想着能本地化antd的,不用npm以及dva那么复杂的配置环境来开发,并且本地化以后对以后链接flask的模板渲染机制也能很好的结合.下面是具体的实现方法: 1.将react的相关链接引入: &l ...
- Android-自定义View前传-View的三大流程-Layout
Android-自定义View前传-View的三大流程-Layout 参考 <Android开发艺术探索> https://github.com/hongyangAndroid/FlowL ...
- Xamarin Essentials教程实现数据的传输功能实例
Xamarin Essentials教程实现数据的传输功能实例 [示例1-1]以下将实现数据的传输功能.代码如下: public async Task ShareUri(string text, st ...
- Codeforces.888G.Xor-MST(Borůvka算法求MST 贪心 Trie)
题目链接 \(Description\) 有一张\(n\)个点的完全图,每个点的权值为\(a_i\),两个点之间的边权为\(a_i\ xor\ a_j\).求该图的最小生成树. \(n\leq2*10 ...
- BZOJ.5289.[AHOI/HNOI2018]排列(贪心 heap)
BZOJ LOJ 洛谷 \(Kelin\)写的挺清楚的... 要求如果\(a_{p_j}=p_k\),\(k\lt j\),可以理解为\(k\)要在\(j\)之前选. 那么对于给定的\(a_j=k\) ...
- php 将16进制数串转换为二进制数据的函数
/** * 将16进制数串转换为二进制数据的函数 * @param $hexdata * @return string bindata */ function ...
- 什么是C++
1.到底什么是C++ C++是一门面向对象的程序设计语言. 关键词:程序设计语言,面向对象 程序设计语言是用来书写计算机程序的语言,更形象的说,程序设计语言是用来和计算机“交流的语言.” 面向对象(o ...
- [ZOJ1482]Partitions
[ZOJ1482]Partitions 题目大意: 给定一个\(n\times n(n\le3000)\)的\(\texttt 0/\texttt1\)矩阵,求去掉所有的\(1\)以后,矩阵被分成几个 ...