你的位置:首页 > 软件开发 > ASP.net > 十五天精通WCF——第三天 client如何知道server提供的功能清单

十五天精通WCF——第三天 client如何知道server提供的功能清单

发布时间:2015-06-11 12:00:43
通常我们去大保健的时候,都会找姑娘问一下这里能提供什么服务,什么价格,这时候可能姑娘会跟你口述一些服务或者提供一份服务清单,这样的话大家就可以做到童嫂无欺,这样一份活生生的例子,在wcf中同样是一个道理,只有client了解service能提供哪些功能,client才可以根据se ...

    通常我们去大保健的时候,都会找姑娘问一下这里能提供什么服务,什么价格,这时候可能姑娘会跟你口述一些服务或者提供一份服务清单,这样的话大

家就可以做到童嫂无欺,这样一份活生生的例子,在get='_blank'>wcf中同样是一个道理,只有client了解service能提供哪些功能,client才可以根据server提供的功能进行

消费,那问题来了,service怎么把功能提供给client进行选择呢???这个就是我这一篇要聊的wsdl(web service description language)。。。

 

一:wsdl

   现在你已经知道了,wsdl就是server提供给client的清单,那下面问题就来了。server是如何提供的呢???你要是比较仔细的话,可能会知道我在上一

篇提到的一个endpoint,如下截图。

十五天精通WCF——第三天 client如何知道server提供的功能清单

在上面这幅图中,你可以看到,Homeservice提供了两个端点,一个是“服务端点“,一个是“元数据端点”。并且你也看到了,元数据的端点地址是

http://192.168.16.16:19200/mex,当client通过svcutil访问这个地址的时候,就拿到了server能提供的功能清单,然后client就可以根据这些功能生成一

个代理文件,然后的然后,就是你懂得,各种啪啪啪,XXXClient。

 

二:眼见为实

1.见证wsdl

 要想看见wsdl,你只需要通过http://localhost:19200打开服务地址、如下图:

十五天精通WCF——第三天 client如何知道server提供的功能清单

 

然后点击:http://localhost:19200/?singleWsdl

 

十五天精通WCF——第三天 client如何知道server提供的功能清单

现在你看到的就是server功能清单,太tmd的重量级了,已经完完全全果体在世人前了,下一小节我们再详细的分析下。

 

2. 见证client端的XXXclient

  刚才我也说了,当你用vs做“服务引用”的时候,svcutil会根据http://localhost:19200/mex的地址来查看wsdl,然后生成代理,下面我们具体来看一下。

 

十五天精通WCF——第三天 client如何知道server提供的功能清单

 

点击确定之后,我们就可以看到在 Service References 文件夹下面生成了一个Reference.cs 文件。

十五天精通WCF——第三天 client如何知道server提供的功能清单

 

然后我们打开Reference.cs,就可以看到一个继承于ClientBase的HomeServiceClient。

 

十五天精通WCF——第三天 client如何知道server提供的功能清单

 

三:详细分析wsdl文件

  学wcf,你一定要像svcutil一样能够看得懂wsdl。

 

1. 首先看下server提供了一个Update操作,参数是一个id,一个Student这个自定义的复杂类型,同时返回也是Student这个

    复杂类型。

1 namespace MyService2 {3   [ServiceContract]4   public interface IHomeService5   {6     [OperationContract]7     Student Update(int id, Student stu);8   }9 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:十五天精通WCF——第三天 client如何知道server提供的功能清单

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。