wcf第三方客户端与wcf服务之间调用入门
Wcf服务与我们的客户端如何建立联系的呢。本文简单记录一下
1、创建我们的wcf服务程序。
第一个wcf服务库是创建我们的wcf库,运行时会单独来托管我们的程序,而非托管在iis下。
第二个wcf服务应用程序则是托管在iis下的。
1、创建我们的第三方客户端。可以理解为应用方公司的程序,可以的网站,桌面程序,甚至控制台。这里以桌面程序(winform)为例。
2、建立两者间联系
3.1、第一种建立两者间联系的方式如下:
直接右键客户端程序(winform)引用,点击添加服务引用
这个服务地址在哪里得到呢,肯定是在我们wcf服务程序中,具体如下。
先打开我们的“导航”页面,姑且这么理解。
上图的url即为所需地址。拷贝到winform的服务引用框中。
点击转到即发现了我们的wcf服务。
然后重新命名命名空间,调用wcf服务,就是通过这个命名空间下的各个client来实现的。这样,我们的wcf服务与第三方客户端间的联系也就建立完成。
3.2、第二种建立两者间联系的方式如下:
第二种方式是通过工具(SvcUtil)来建立,点击vs的工具下的外部工具。
这个工具在我们下载vs时,已经下载好了,所以只需将路径导入进来,也就是下面的命令。
具体路径:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin下的
注意点:上图中使用输出窗口跟提示输入参数一定打上勾,方便操作。
然后就可以在工具下点击这个SvcUtil工具。
这个参数,就是我们第一种方法中的地址,同样填入即可。
点击确定
将会生成一个配置文件,一个.cs
点击
将生成的文件显示在项目(winform)中。
然后打开配置文件,将里面的下面这个节点信息拷贝到App.config即我们客户端直接的配置文件中
这样一来,配置文件算是完成了。第一个方法是通过我们自己命名的命名空间下的各个client作为代理来跟wcf服务之间进行通信,第二个方法没有了这个命名空间,多了一个.cs文件,没错,这次的代理就是由它来提供。
注意点:这里我们需要引用两个命名空间
然后重新生成解决方案,下面这个.cs文件就不会由错误提示了。
小测试,代码如下
以上这个Service1Client就是在上面提到的.cs文件中。
以上代码调用了GetData这个方法,然后看一下对应的wcf服务端的这个方法代码详情。
很简单,就是返回一个字符串。
于是,结果不言而喻。
wcf第三方客户端与wcf服务之间调用入门的更多相关文章
- 服务注册中心之ZooKeeper系列(二) 实现一个简单微服务之间调用的例子
上一篇文章简单介绍了ZooKeeper,讲了分布式中,每个微服务都会部署到多台服务器上,那服务之间的调用是怎么样的呢?如图: 1.集群A中的服务调用者如何发现集群B中的服务提供者呢? 2.集群A中的服 ...
- 【多线程】java多线程Completablefuture 详解【在spring cloud微服务之间调用,防止接口超时的应用】【未完成】
参考地址:https://www.jianshu.com/p/6f3ee90ab7d3 示例: public static void main(String[] args) throws Interr ...
- Spring Cloud 服务之间调用
微服务之多个服务间调用 现在又一个学生微服务 user 和 学校微服务 school,如果user需要访问school,我们应该怎么做? 1.使用RestTemplate方式 添加config imp ...
- 重温WCF之WCF传输安全(十三)(2)基于SSL的WCF匿名客户端(转)
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/13/2683514.html 这一篇我们利用上一篇制作的证书,来演示一个基于SSL的WCF服务, ...
- 使用WCF测试客户端 z
http://blog.csdn.net/u013036274/article/details/50570989 [是什么] WCF测试客户端(WCF Test Client)是一个用来测试WCF服务 ...
- C# WCF之用接口创建服务契约、部署及客户端连接
服务契约描述了暴露给外部的类型(接口或类).服务所支持的操作.使用的消息交换模式和消息的格式.每个WCF服务必须实现至少一个服务契约.使用服务契约必须要引用命名空间System.ServiceMode ...
- 启用WCF测试客户端的相关技巧
在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开.第二 ...
- 微服务之间的调用(Ribbon与Feign)
来源:https://blog.csdn.net/jrn1012/article/details/77837658 使用Eureka作为服务注册中心,在服务启动后,各个微服务会将自己注册到Eureka ...
- 跟我一起学WCF(4)——第一个WCF程序
一.引言 前面几篇文章分享了.NET 平台下其他几种分布式技术,然而前面几种分布式技术专注于某一特定的领域,并且具有不同编程接口,这使得开发人员需要掌握多个API的使用.基于这样的原因,微软在.NET ...
随机推荐
- ruby firefox23报错:waiting for evaluate.js load failed
解决方法 gem install selenium-webdriver -v='2.34.0'
- ActionListener 监听事件源产生的事件
用户在窗体上对组件进行一定动作,比如鼠标点击,会产生一些相应的事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠标点击行为.通过实现ActionList ...
- Linux系统 Centos7/Centos6.8 yum命令在线安装 MySQL5.6
Linux系统 Centos7 yum命令在线安装 MySQL5.6 标签: centosmysqlyum 2015-11-18 17:21 707人阅读 评论(0) 收藏 举报 分类: Linux ...
- java.lang.IllegalArgumentException: Document base F:\personal\projects\annoMVC\web does not exist or is not a readable directory
tomcat明明在d盘,怎么到F盘了...纳闷啊... 解决办法: 1停掉Tomcat服务2把/conf/Catalina/localhost下的文件删除掉(我在这个文件夹里发现了一个xml,指向了F ...
- centos7.3.1611安装及初始配置
安装前规划: 主机名称 网络配置 分区配置 分区配置 自定义分区,标准分区 /boot 200M (可选) swap 内存1.5倍到2倍(不大于8G) / 根分区(100G到200G) 其余的备用(数 ...
- Android商城开发系列(十)—— 首页活动广告布局实现
在上一篇博客当中,我们讲了频道布局的实现,接下来我们讲解一下活动广告布局的实现,效果如下图: 这个是用viewpager去实现的,新建一个act_item.xml,代码如下所示: <?xml v ...
- mybatis-动态sql2
mybatis的动态sql中常用的有 if where foreach set 项目沿用之前的. 1.dao层添加接口: package com.java1234.map ...
- 在vue-cli中引入外部插件
一.可以用npm下载的 现在以jquery为例子: 1 先在package.json中的dependencies中写入“jquery”:“^3.2.1”(jquery版本) 2 在npm中搜索jque ...
- 【HDU1542】Atlantis (扫描线的经典运用)
点此看题面 大致题意: 给你\(N\)个矩形,请你求出它们覆盖的面积(重叠的面积只算一次). 扫描线 这道题是一道典型的求矩形面积并问题,是扫描线的一个经典运用.这里就不赘述了. 代码 #includ ...
- Problem I: Satellite Photographs
Problem I: Satellite Photographs Time Limit: 1 Sec Memory Limit: 128 MB Submit: 208 Solved: 118 [S ...