Web服务与ASP.NET开发详解
1. 返回Web服务错误
当执行Web服务方法时出现异常情况,应向客户端返回Web服务错误。若在Web服务工作流中抛出未处理的异常,.NET异常将自动作为错误返回。除了这种自动行为,还可在工作流模型中显式声明发送错误。
这可通过 WebServiceFaultActivity 实现,该活动必须与 WebServiceInputActivity 关联。此活动包含一个 Fault 属性,用于标识与错误关联的.NET异常。在设计工作流时,必须确保只执行 WebServiceOutputActivity 或 WebServiceFaultActivity 中的一个,不能在单个工作流实例中同时执行这两个活动,否则工作流将无法构建。
以之前实现的 MathServiceWorkflow 为例,其初始版本未对输入参数进行任何验证。若输入除数为零,将尝试进行除法运算。由于被除数和除数都定义为 Double 类型,浮点除以零将返回无穷大。此时,可能更希望收到一个Web服务错误来通知问题,而非无穷大的结果。
接下来,将修改 MathServiceWorkflow ,对输入参数进行简单验证。若除数为零,工作流将使用 WebServiceFaultActivity 返回Web服务错误;否则,将执行除法运算并将结果返回给客户端。
超级会员免费看
订阅专栏 解锁全文
153

被折叠的 条评论
为什么被折叠?



