大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 操作系统 -> Web服务器 -> Web服务中的异常处理(4)

Web服务中的异常处理(4)

时间: 2021-07-31 作者:daque

存户端的特殊处置这个局部,咱们将看看在存户端还好吗处置从web效劳中所抛出的特殊。为了证明这个做法,咱们来创造一个新名目categoriesserviceclient。一旦名目被创造,就在默许的表单上增添一个吩咐按钮,并定名为btninvoke。由于须要在存户端援用web效劳,以是在名目categoriesservice中增添一个webreference。不妨经过project->addreference菜单选项来实行增添。而后窜改吩咐按钮的click事变,如次所示。privatevoidbtninvoke_click(objectsender,system.eventargse){try{categoriescat=newcategories();messagebox.show(cat.addcategories("xmlnamespacemanagernsmanager=newxmlnamespacemanager(doc.nametable);//addthenamespacetothenamespacemanagernsmanager.addnamespace("errorns","http://tempuri.org/categoriesservice");xmlnodecategorynode=doc.documentelement.selectsinglenode("errorns:error",nsmanager);stringerrornumber=categorynode.selectsinglenode("errorns:errornumber",nsmanager).innertext;stringerrormessage=categorynode.selectsinglenode("errorns:errormessage",nsmanager).innertext;stringerrorsource=categorynode.selectsinglenode("errorns:errorsource",nsmanager).innertext;messagebox.show("errornumberis"+errornumber);messagebox.show("errormessageis"+errormessage);messagebox.show("errorsourceis"+errorsource);}catch(exceptionex){messagebox.show(ex.message);}}存户端须要处置web效劳所爆发的特殊。由于web效劳所爆发的特殊都是soapexception情势的,以是挪用web效劳的存户运用步调的代码该当被包括在try...catch块中,而且第一个catch块该当具备捕获soapexception的处置器。让咱们大概看看之上所示的代码。开始创造一个categories类的范例。而后传入所诉求的xml字符串参数,挪用categories类的addcategories本领。再后,咱们让catch块处置web效劳所爆发的特殊。在这个代码块中,咱们以动静提醒框的办法表露特殊的爆发者。咱们经过运用soapexception东西的code属性来实行这个表露。即使特殊是由于存户端的不法输出而爆发的,那么code属性被树立为client。即使特殊是由于web效劳代码(比方,据库效劳器仍旧封闭)而爆发的,则code属性被设为server。而后,咱们把包括在soapexception东西的detail元素中的xml数据导出到一个xmldocument东西中。一致于web效劳的代码,这边同样运用xmlnamespacemanager东西把定名空间与xmldocument东西关系在一道。之后,掏出包括在各别元素中的值,并把它们赋给当地变量。结果,运用动静提醒框表露当地变量的值。把它放在一道至此,咱们仍旧实行了存户运用步调,此刻让咱们运转尝试它。即使运转存户步调,它将表露一个动静框(具备true值),那么则表白categories精细消息仍旧胜利生存到数据库中。此刻,从输出的xml数据中简略元素,运转存户步调。将会获得一个动静,表白特殊的因为是存户步调,除此除外,还不妨在soapexception东西中获得更多的特殊消息。正如前方所提到的那么,即使web效劳波折是因为效劳器端的少许题目惹起的,那么soapexception东西的code属性该当被树立为server。为了尝试这个,窜改web效劳中的贯穿字符串为一个失效值。此刻,即使运转存户步调,将会获得一个表白特殊的因为是server的动静(该例中的web效劳)。论断正文中,咱们仍旧领会到还好吗运用soapexception东西来处置和传播特殊给web效劳的存户端。咱们还领会到soapexception东西是还好吗运用soapfault源代码(设置在soap典型中)来传播特殊的。特地,咱们还计划了处置存户端所爆发的特殊的办法。固然咱们创造的运用的功效特殊的大略,然而它给咱们领会还好吗抛出和处置web效劳中的特殊供给了一个坚忍的普通.(根源:pconline)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.