当前位置: 首页 > news >正文

阿里巴巴网站架构铜仁公司做网站

阿里巴巴网站架构,铜仁公司做网站,网站分类表,wordpress表单数据前台显示图片备注#xff1a;这篇文章的使用环境是.NET framework 4.0 RC 1 在WF4中创建native活动时#xff0c;NativeActivity是非常强大的。其众多的功能之一是围绕错误处理。 调度子活动的时的基本错误处理。 当NativeActivity执行的时候#xff0c;它是通过一个NativeActivityConte… 备注这篇文章的使用环境是.NET framework 4.0 RC 1 在WF4中创建native活动时NativeActivity是非常强大的。其众多的功能之一是围绕错误处理。 调度子活动的时的基本错误处理。     当NativeActivity执行的时候它是通过一个NativeActivityContext实例这个实例通过使用ScheduleActivity()函数来调度其他活动。ScheduleActivity()函数有几个重载其中一个使用了FaultCallback。当执行被调度的子活动发生一些异常时就会调用FaultCallback。调用错误处理函数需要一组参数这些参数包括NativeActivityFaultContext和未处理的异常。该NativeActivityFaultContext包含一个用于错误处理的HandleFault()函数。考虑到工作流的异步特性最直接的一个try / catch块是行不通。     因此我希望下面活动能捕获任何异常然后继续。  1     public sealed class MyActivity : NativeActivity  2     { 3         public Activity Body { get; set; }  4         protected override void Execute(NativeActivityContext context) 5         {  6             context.ScheduleActivity(Body, FaultHandler); 7         }  8         private void FaultHandler(NativeActivityFaultContext faultContext, Exception propagatedException, ActivityInstance propagatedFrom) 9         {10             Console.WriteLine(propagatedException.Message);11             faultContext.HandleFault(); 12         }13     } 不要使用此代码它有一个严重的错误 让我们通过执行下面的工作流测试一下这段代码  1         private static Activity CreateWorkflow()  2         {  3             return new Sequence  4             {  5                 Activities  6                 {  7                     new WriteLine { Text  Start outer sequence. }, 8                     new MyActivity  9                     { 10                         Body  new Sequence11                         { 12                             Activities  13                             { 14                                new WriteLine { Text  Start inner sequence. },15                                new Throw 16                                {17                                    Exception  new InArgumentException(ctx  new DivideByZeroException())18                                },19                                new WriteLine { Text  End inner sequence. } 20                             }21                         }22                     }, 23                      new WriteLine { Text  End outer sequence. }24                 } 25             }; 26         } 对于这个工作流我期待下面这样的输出 但实际情况是别的东西我会收到以下输出   即使异常被上级捕获我们可以看到第二个内部的WriteLine仍然执行了 这种现象让我们想起了臭名昭著VB6 On Error Resume Next 当某语句出现错误时,跳过它,执行下面一行的代码。 这并不是我真正期待和希望的。修复很容易。所需要做的是使用CancelChild()函数明确取消正在执行的子活动。下面是NativeActivity的正确版本。  1    public sealed class MyActivity : NativeActivity  2     { 3         public Activity Body { get; set; }  4         protected override void Execute(NativeActivityContext context) 5         {  6             context.ScheduleActivity(Body, FaultHandler); 7         }  8         private void FaultHandler(NativeActivityFaultContext faultContext, Exception propagatedException, ActivityInstance propagatedFrom) 9         {10             Console.WriteLine(propagatedException.Message);11             faultContext.HandleFault();12             faultContext.CancelChild(propagatedFrom);13         }14     } 本文转自麒麟博客园博客原文链接http://www.cnblogs.com/zhuqil/archive/2010/03/11/error-handling-in-a-nativeactivity.html如需转载请自行联系原作者
http://www.zqtcl.cn/news/900207/

相关文章:

  • 凡科快速建站建设网站遇到问题的解决方案
  • 深圳市公司网站建设公司十大互联网营销公司
  • 免费发布推广信息的网站百度招聘2022年最新招聘
  • 建站公司怎么获客任县附近网站建设价格
  • 泰兴市淘宝网站建设指数 网站权重
  • 烟台市做网站找哪家好才艺多网站建设
  • nginx wordpress 重写seo技术大师
  • 公司网站建设需要什么科目上海服务政策调整
  • 如何免费搭建自己的网站网站建设公司swot分析
  • 太原网站优化技术如何开发一款app软件
  • 莆田做网站公司lnmp wordpress 404
  • 网站开发中的qq登录网站地图有什么作用
  • 南宁小程序开发网站建设公司网络营销方案设计范文
  • 电脑做网站主机空间哈尔滨人才招聘信息网
  • 无锡网站建设制作设计wordpress news list
  • 专业建站教程青海 网站开发 图灵
  • 济南网站公司哪家好中国建设银行电脑版
  • 企业网站建设定制网站建设成功案例怎么写
  • 一个网站做数据维护3天正常吗做sgs认证公司网站
  • 免费网络短剧网站摄影素材库网站
  • 如何做竞价网站数据监控网站建设企业的市场分析
  • 电脑做网站主机空间软件开发工作岗位
  • 计算机多媒体辅助教学网站开发响应式网站建设精英
  • 免费网站空间怎么做网站主持人
  • 开源建站系统有哪些网站信息化建设合同
  • 昆明云南微网站淄博专业网站建设
  • 古典网站源码海南app开发
  • 自己做网站前期困难吗怎么早网站上放广告
  • 建设银行招标网站南昌网站建设公司信息
  • 网站建设与管理专业介绍湖南长沙邮政编码