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服务端的这个方法代码详情。

很简单,就是返回一个字符串。

于是,结果不言而喻。

如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!

作者:玛丽的竹子

来源:http://www.cnblogs.com/joeymary/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

时间: 2024-10-11 12:54:01

wcf第三方客户端与wcf服务之间调用入门的相关文章

Feign解决服务之间调用传递token

在单体服务中调用一个接口时需要在Head里加token直接放在head里就行了,Feign之间调用服务需要加token怎么办呢,解决办法实现RequestInterceptor接口. 1.在调用服务中新建FeignConfig类并实现RequestInterceptor接口,重写apply方法. public class FeignConfig implements RequestInterceptor {        @Override        public void apply(Re

Spring Cloud 服务之间调用

微服务之多个服务间调用 现在又一个学生微服务 user 和 学校微服务 school,如果user需要访问school,我们应该怎么做? 1.使用RestTemplate方式 添加config import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context

C# WCF之用接口创建服务契约、部署及客户端连接

服务契约描述了暴露给外部的类型(接口或类).服务所支持的操作.使用的消息交换模式和消息的格式.每个WCF服务必须实现至少一个服务契约.使用服务契约必须要引用命名空间System.ServiceModel . ServiceContractAttribute OperationContractAttribute 1,先创建一个类库为ClassLibrary1,在创建一个接口interface1. 2,添加引用和命名空间,System.ServiceModel 3,在接口里代码如下: namespa

使用WCF测试客户端 z

http://blog.csdn.net/u013036274/article/details/50570989 [是什么] WCF测试客户端(WCF Test Client)是一个用来测试WCF服务程序的调试工具,能够使开发WCF服务更加方便. [打开方法] 有四种打开方式 1.找到Vs的安装路径,找到Common7\IDE\WcfTestClient.exe,双击打开.如图 2.在Visual Studio命令提示中输入“WcfTestClient”回车即可. 3.打开VS,项目--属性-调

启用WCF测试客户端的相关技巧

在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开.第二种方法是在“Visual Studio命令提示(Visual Studio Command Prompt)”中输入“WcfTestClient”命令,如图1所示: 图1 Visual Studio不同的项目模板,提供了不同的WCF测试客户端启动方法.下面这张表格是Visual Studio 2010

跟我一起学WCF(4)——第一个WCF程序

一.引言 前面几篇文章分享了.NET 平台下其他几种分布式技术,然而前面几种分布式技术专注于某一特定的领域,并且具有不同编程接口,这使得开发人员需要掌握多个API的使用.基于这样的原因,微软在.NET 3.0时实现了WCF.WCF是.NET平台下各种分布式技术的集成,它将前面介绍的几种分布式技术完全整合在一起,并提供了一套统一的编程接口(API).对于,开发人员来来说只需要掌握WCF一套的API,就可以实现之前分布式技术所实现的所有功能. 二.WCF详细介绍 WCF(Windows Commun

spring cloud实战与思考(二) 微服务之间通过fiegn上传多个文件1

需求场景: 微服务之间调用接口一次性上传多个文件. 上传文件的同时附带其他参数. 多个文件能有效的区分开,以便进行不同处理. Spring cloud的微服务之间接口调用使用Feign.原装的Feign不支持文件的传输.需要借助"Feign-form"库才行.但是貌似"Feign-form"库(至少是3.0.3版本)只支持单文件上传.在接口中使用多文件参数时会报异常: feign.codec.EncodeException: class [Lorg.springfr

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

创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: 服务和客户端使用托管属性.接口和方法对协定进行建模. 若要连接客户端应用程序中的服务,则需要获取该服务协定的类型信息.通常,我们使用Svcutil.exe(ServiceModel Metadata Utility Tool)来完成,也可以直接在客户端项目上引用服务地址完成.它们会从服务中下载元数据

WCF初探-11:WCF客户端异步调用服务

前言: 在上一篇WCF初探-10:WCF客户端调用服务 中,我详细介绍了WCF客户端调用服务的方法,但是,这些操作都是同步进行的.有时我们需要长时间处理应用程序并得到返回结果,但又不想影响程序后面代码部分的执行,这时我们就需要考虑使用异步的方式来调用服务.注意这里的异步是完全针对客户端而言的,与WCF服务契约的方法是否异步无关,也就是在不改变操作契约的情况下,我们可以用同步或者异步的方式调用WCF服务. WCF客户端异步调用服务方式: 通过代理类异步调用服务.就需要通过使用事件驱动的异步调用模型