加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用VS快速将类方法封装成Web服务

发布时间:2020-12-15 21:14:26 所属栏目:asp.Net 来源:网络整理
导读:在项目中有时需要将整个业务逻辑类下面的方法封装成Web服务,由于只是简单的封装,在Web服务的后台代码中不会写上任何逻辑,这时我们就需要Web服务提供的方法与类下面提供的方法相同,这是就考虑到使用接口。申明一个接口,然后让业务逻辑类和Web服务类都实

在项目中有时需要将整个业务逻辑类下面的方法封装成Web服务,由于只是简单的封装,在Web服务的后台代码中不会写上任何逻辑,这时我们就需要Web服务提供的方法与类下面提供的方法相同,这是就考虑到使用接口。申明一个接口,然后让业务逻辑类和Web服务类都实现该接口即可。这里我们就要用到VS中一个很好的功能:重构!

假设我们现在有一个业务逻辑类HelloLogic用于处理一些业务逻辑,如:

<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">namespace<span style="color: #000000">?Hello<img id="Codehighlighter1_16_316_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_16_316_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedBlock.gif" alt=""><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_16_316_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_16_316_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">class<span style="color: #000000">?HelloLogic<img id="Codehighlighter1_50_314_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_50_314_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_50_314_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_50_314_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayHello()<img id="Codehighlighter1_93_132_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_93_132_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_93_132_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_93_132_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????<span style="color: #0000ff">return<span style="color: #000000">?<span style="color: #800000">"<span style="color: #800000">Hello<span style="color: #800000">"<span style="color: #000000">;<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayHello(<span style="color: #0000ff">string<span style="color: #000000">?name)<img id="Codehighlighter1_185_231_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_185_231_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_185_231_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_185_231_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????<span style="color: #0000ff">return<span style="color: #000000">?<span style="color: #800000">"<span style="color: #800000">Hello<span style="color: #800000">"<span style="color: #000000">?<span style="color: #000000">+<span style="color: #000000">?name;<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayBye()<img id="Codehighlighter1_271_308_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_271_308_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_271_308_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_271_308_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????<span style="color: #0000ff">return<span style="color: #000000">?<span style="color: #800000">"<span style="color: #800000">Bye<span style="color: #800000">"<span style="color: #000000">;<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="">}<span style="color: #000000">?

点击“Refactor”菜单下的“Extract Interface”选项提取该类的接口,将出现如图窗口

选中所有的方法,点击OK即生成接口代码:

由于需要在Web服务项目中使用该接口,这里需要将interface改成pulic的。然后在web服务项目中添加对该程序集的引用。新建HelloWebService页面,在后台代码上申明实现该接口:

将光标放在IHelloLogic上,使用快捷键Shift+Alt+F10,将出现如图提示:

第一个是实现该接口,第二个是明确实现该接口,这里由于只有这个接口,而且就算有多个接口,只要接口中的函数不重复就可以直接使用第一个。选择第一个选项,系统将自动生成代码:

接下来只需要将方法调用写到具体的函数里面就可以了。当然不能忘记了使用WebMethod特性。

现在的代码已经可以编译通过了,但是有一个问题那就是在一般类方法中可以使用函数名重载,但是Web服务不能使用,我们这里对SayHello方法的重载需要进行修改。那么怎么实现Web服务下的函数重载拉?那就要用到MessageName属性对方法进行重命名了。使用MessageName 属性后还没有完,[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]这里的标注使得该Web服务不符合 WS-I Basic Profile v1.1,需要将属性值改为WsiClaims.None。最终完成的代码应该是:

<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Collections;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Linq;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Web;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Web.Services;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Web.Services.Protocols;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Xml.Linq;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?Hello;<img id="Codehighlighter1_177_250_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_177_250_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedBlock.gif" alt=""><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_177_250_Closed_Text">/**/<span id="Codehighlighter1_177_250_Open_Text"><span style="color: #808080">///<span style="color: #008000">?<span style="color: #808080">

<span style="color: #008000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt=""><span style="color: #808080">///<span style="color: #008000">?Summary?description?for?HelloWebService<img align="top" src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt=""><span style="color: #808080">///<span style="color: #008000">?<span style="color: #808080"><img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #000000">[WebService(Namespace?<span style="color: #000000">=<span style="color: #000000">?<span style="color: #800000">"<span style="color: #800000">http://tempuri.org/<span style="color: #800000">"<span style="color: #000000">)]<img align="top" src="/Images/OutliningIndicators/None.gif" alt="">[WebServiceBinding(ConformsTo?<span style="color: #000000">=<span style="color: #000000">?WsiProfiles.None)]<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">class<span style="color: #000000">?HelloWebService?:?System.Web.Services.WebService,?Hello.IHelloLogic<img id="Codehighlighter1_430_830_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_430_830_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedBlock.gif" alt=""><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_430_830_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_430_830_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????HelloLogic?logic?<span style="color: #000000">=<span style="color: #000000">?<span style="color: #0000ff">new<span style="color: #000000">?HelloLogic();<img id="Codehighlighter1_477_828_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt=""><img style="display: none" id="Codehighlighter1_477_828_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff" id="Codehighlighter1_477_828_Closed_Text">IHelloLogic?Members<span style="display: none" id="Codehighlighter1_477_828_Open_Text"><span style="color: #0000ff">#region<span style="color: #000000">?IHelloLogic?Members<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????[WebMethod]<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayBye()<img id="Codehighlighter1_552_590_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_552_590_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_552_590_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_552_590_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">return<span style="color: #000000">?logic.SayBye();<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????[WebMethod]<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayHello()<img id="Codehighlighter1_640_680_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_640_680_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_640_680_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_640_680_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">return<span style="color: #000000">?logic.SayHello();<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????[WebMethod(MessageName<span style="color: #000000">=<span style="color: #800000">"<span style="color: #800000">SayHelloName<span style="color: #800000">"<span style="color: #000000">)]<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????<span style="color: #0000ff">public<span style="color: #000000">?<span style="color: #0000ff">string<span style="color: #000000">?SayHello(<span style="color: #0000ff">string<span style="color: #000000">?name)<img id="Codehighlighter1_769_813_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_769_813_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_769_813_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_769_813_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">return<span style="color: #000000">?logic.SayHello(name);<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????<span style="color: #0000ff">#endregion<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="">}<span style="color: #000000">?

调用的时候我们将看到一个SayHello方法,一个SayHello1方法,这里的SayHello1方法就是对应的SayHello(string)方法了。

<div style="border-right: #cccccc 1px solid; padding-right: 5px; padding-left: 4px; font-size: 13px; border-top: #cccccc 1px solid; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Collections.Generic;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Linq;<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">using<span style="color: #000000">?System.Text;?<img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><img align="top" src="/Images/OutliningIndicators/None.gif" alt=""><span style="color: #0000ff">namespace<span style="color: #000000">?ConsoleApplication1<img id="Codehighlighter1_118_472_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_118_472_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedBlock.gif" alt=""><span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_118_472_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_118_472_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????<span style="color: #0000ff">class<span style="color: #000000">?Program<img id="Codehighlighter1_142_470_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_142_470_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_142_470_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_142_470_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????<span style="color: #0000ff">static<span style="color: #000000">?<span style="color: #0000ff">void<span style="color: #000000">?Main(<span style="color: #0000ff">string<span style="color: #000000">[]?args)<img id="Codehighlighter1_192_464_Open_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ExpandedSubBlockStart.gif" alt=""><img style="display: none" id="Codehighlighter1_192_464_Closed_Image" onclick="code_collapse_toggle(this);" align="top" src="/Images/OutliningIndicators/ContractedSubBlock.gif" alt="">????????<span style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; display: none; background-color: #ffffff" id="Codehighlighter1_192_464_Closed_Text"><img src="https://www.52php.cn/res/2019/02-14/22/a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif" alt=""><span id="Codehighlighter1_192_464_Open_Text"><span style="color: #000000">{<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????HelloService.HelloWebServiceSoapClient?h?<span style="color: #000000">=<span style="color: #000000">?<span style="color: #0000ff">new<span style="color: #000000">?ConsoleApplication1.HelloService.HelloWebServiceSoapClient();<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????Console.WriteLine(h.SayBye());<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????Console.WriteLine(h.SayHello());<img align="top" src="/Images/OutliningIndicators/InBlock.gif" alt="">????????????Console.WriteLine(h.SayHello1(<span style="color: #800000">"<span style="color: #800000">test<span style="color: #800000">"<span style="color: #000000">));<img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="">????}<span style="color: #000000"><img align="top" src="/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="">}<span style="color: #000000">?

好了,整个Web服务的调用就已经完成了,使用VS自带的重构功能来提取接口,实现接口有助于提供我们的开放效率,同时也降低了我们在封装成web服务的时候发生遗漏、拼写错误等失误。 由于本人对Web服务领域涉足未深,所以可能有错误之处,希望大家指正。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读