关于WCF服务的使用(非常详细的步骤)
2015-07-14 10:50
531 查看
(附上一篇对WCF基础讲解挺详细的一篇文章http://www.cnblogs.com/wayfarer/archive/2008/04/15/1153775.html)
WCF是.NET提供的一种服务,可以将自己写的程序(完成特定功能,比如从数据库中读取数据操作等)分装成服务以后,发布到服务器上。然后会生成一个网址,客户端在编程的时候,可以引用这个服务,使用这个服务中提供的功能。
举个实际的例子,我想从数据库中读取相关文章数量大于3的基因,数据库表GeneSymbol,包含两个字段(genename,count),现在我想每次给数据库一个参数n(代表文章数量count),返回符合条件的基因数量。
(这里有人会说,我直接操作数据库不就好了嘛,或者我在本地写程序,访问数据库也是可以的,为啥要用服务呢?我个人的理解是,这样可以将共有的功能封装起来,便于大家共享,比如其他很多人也和我有类似的需求)
实现步骤:
1、新建一个WCF服务程序
![](https://img-blog.csdn.net/20150714111659227?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、在1中写需要执行函数的声明,在2中写上对应的函数实现(我的例子中试对数据库的操作以及返回值)
![](https://img-blog.csdn.net/20150714111705290?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、在本地进行调试,运行WcfTestClient.exe(这个应用程序,我电脑上的路径是C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE)将对应的参数进行输出,看是否能得到相应的输出结果。测试成功后进行发布;
4、发布时,工程右键,发布。可以看到下图的界面,点击新建文件(图中红色部分)
![](https://img-blog.csdn.net/20150714111710378?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5、局域网发布的话,一般点File System即可。如果要发布到阿里云服务器这样可以对外的,可以用FTP
![](https://img-blog.csdn.net/20150714111719678?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6、选择要生成发布文件的位置即可
![](https://img-blog.csdn.net/20150714111724805?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
7、以下是发布后得到的文件
![](https://img-blog.csdn.net/20150714111733705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
8、在本地发布生成发布文件后,如果我想让它在局域网(在阿里云上是类似的)的服务器上发布,将本地发布生成的文件拷贝到服务器上某个位置(比如E:\TEST),然后打开服务器上IIS管理器,如下图所示。这是我远程桌面操作的截图,打开后,点击左侧“网站”->“新建”->"网站"
会出现如下界面。这里注意,网站的IP地址就是服务器的地址。(因为是发布到该服务器上),自己为它指定一个端口。如下:然后点击下一步
![](https://img-blog.csdn.net/20150714135413101?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
9、这里的路径,就是刚才在本地发布后,拷贝过来的文件所在的路径,和上面的统一,是E:\TEST,找到它,添加进来即可
![](https://img-blog.csdn.net/20150714135419511?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
10、这样,不出意外的话,在右击左侧网站,浏览,就会得到一下的
![](https://img-blog.csdn.net/20150714140558102?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20150714140605165?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
11、发布成功后,会生成一个网址,这是我这次发布所生成的网址
【参考】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
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
相关文章推荐
- 吾爱破解论坛被封:疑似大量黑客破解类内容
- 如何在 Ubuntu 和其他 Linux 发行版中启动、停止和重启服务
- 近期加速乐的CDN服务极其不稳定
- 如何在互联网放置 HTML 页面
- linux
- 安全帐户管理器初始化失败:目录服务无法启动,错误状态 0xc00002e1 lsass.exe
- Google排名优化的几个影响因素
- 让侮辱中国人的法国cnn网站完蛋
- 如何获得外部优质网站的链接pr
- 网站广告位难卖的几个原因分析与解决方法
- 网站关键词标题和网页描述技巧_站长必看
- 将批处理文件注册成服务在系统启动的时候自动调用
- 全球路由DNS服务器
- 解析Silverlight调用WCF/Rest异常的解决方法
- 用sc删除mysql服务技巧
- 单独重开一个网站的步骤
- 能否批量把网站从一台服务器移到哪一台服务器
- 邮箱网站不能用mail.xxx.com:8888的方式访问原因
- Powershell获取系统中所有可停止的服务
- rails创建应用程序实例