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 SDKsWindowsv7.0ABin下的
注意点:上图中使用输出窗口跟提示输入参数一定打上勾,方便操作。
然后就可以在工具下点击这个SvcUtil工具。
这个参数,就是我们第一种方法中的地址,同样填入即可。
点击确定
将会生成一个配置文件,一个.cs
点击
将生成的文件显示在项目(winform)中。
然后打开配置文件,将里面的下面这个节点信息拷贝到App.config即我们客户端直接的配置文件中
这样一来,配置文件算是完成了。第一个方法是通过我们自己命名的命名空间下的各个client作为代理来跟wcf服务之间进行通信,第二个方法没有了这个命名空间,多了一个.cs文件,没错,这次的代理就是由它来提供。
注意点:这里我们需要引用两个命名空间
然后重新生成解决方案,下面这个.cs文件就不会由错误提示了。
小测试,代码如下
以上这个Service1Client就是在上面提到的.cs文件中。
以上代码调用了GetData这个方法,然后看一下对应的wcf服务端的这个方法代码详情。
很简单,就是返回一个字符串。
于是,结果不言而喻。