美祺 的个人资料Eden of Hexagon照片日志列表更多 ![]() | 帮助 |
|
12月29日 biztalk中常用调试方法Biztalk中以图形方式取代了长串的代码,也不再有源代码级的单步调试,取而代之的是综合的调试手段。下面详细讨论biztlak中的常用调试手段。 一、 在Biztalk administration console中查看挂起的服务调试biztalk的应用时,如果没有得到预期的结果,比如给了输入的消息,在应该输出消息的位置没有得到预期的消息,肯定是哪个环节出错了,这时首先应该检查的是否有挂起的服务实例,因为biztalk以消息为核心,而消息都是在某个服务实例中被处理的,一旦出错,出错的服务实例连同正在处理的消息就会被biztalk挂起: l 打开Biztalk Server 2006 Administration l 在Administration Console左边的树形结构中选Biztalk Group l Administration Console右边窗口显示Group Overview,按F5刷新状态,在Suspended Items下可以看到目前是否有被挂起的服务,如下图:
Figure 1 Biztalk Administration Console中查看挂起的服务 如果Suspended service instances的计数不为0,就表示有被挂起的服务实例,点击Suspended service instances查看被挂起的具体服务实例。 打开挂起服务实例后,在窗口的右下方显示具体的被挂起的服务实例,双击某个服务实例,即可查看这个挂起服务实例的被挂起的原因:
Figure 2 Biztalk Administration Console中查看挂起服务的挂起原因 在Service Details窗口中,点击Messages标签,查看此服务实例正在处理的那个消息:
Figure 3 Biztalk Administration Console中查看挂起服务的相应消息 二、 查看事件日志一般biztalk中发生的错误都会在事件日志中有反映,在上面的查看挂起的服务实例中能查到的错误,一般在日志中也都会有反映。但是有时由某些错误导致biztalk应用出错,在biztalk中只反映了跟biztalk直接相关的错误,最原始导致错误的原因可能在事件日志中才会有更详细的反映。 所以,如果在biztalk Administration Console中如果没有找到正真的错误原因时,到事件日志中找找可能会有所发现。 l 开始 – 管理工具 – 时间查看器 l 在事件查看器中右边目录,选“应用程序”,来源为“Biztalk Server 2006”的即为biztalk产生的错误消息。
Figure 4 事件日志中查看biztalk应用相关出错信息 三、 使用Orchestration Debugger断点调试OrchestrationBiztalk中orchestration是实现应用功能的主要手段,业务的流程就是它来实现的,对orchestration是调试一个biztalk应用的最主要的部分。 Orchestration是图形化的设计工具,biztalk也设计了个图形化的调试工具,叫做Orchestration Debugger。这个调试器可以对Orchestration进行断点调试,在断点出同样可以查看各个变量、消息、以及端口的状态。 1、 打开Orchestration Debugger要想在Orchestration Debugger中打开某个orchestration,这个orchestration必须已经被执行过,或者正在执行中。
如果第一次开始测试一个orchestration,当消息进入到biztalk,在入站的接收管道内就出错了,接收端口这个服务实例就会被挂起,消息也不会被路由到要处理这个消息的orchestration,这时这个orchestration还未被执行,所以这种情况是无法在Orchestration Debugger中打开这个orchestration,必须在排除了接收管道的错误,消息能够进入到Orchestration后才可能进行Orchestration的调试。 有两种方法打开Orchestration Debugger。 1.1. 在HAT中打开Orchestration Debuggerl 开始 – 所有程序 – Microsoft Biztalk Server 2006 -- Health and Activity Tracking l 在打开的HAT窗口中,选Queries – Most Recent 100 Service Instances l 在列出的最新的100个服务实例中,找到你要调试的那Orchestration,点击鼠标右键,选Orchestration Debugger。 1.2. 在Biztalk Administration Console中打开Orchestration Debugger在Biztalk Administration Console中可以查看到被挂起的服务实例和正在运行中停留在断点的服务实例,如果是Orchestration的服务实例,都可以在此打开Orchestration Debugger 1.2.1 挂起的Orchestration服务实例l 打开Biztalk Server 2006 Administration l 在Administration Console左边的树形结构中选Biztalk Group l Administration Console右边窗口显示Group Overview,按F5刷新状态,在Suspended Items下可以看到被挂起的服务 l 点击Suspended service instances查看被挂起的具体服务实例。 l 打开挂起服务实例后,在窗口的右下方显示具体的被挂起的服务实例,如果有你需要调试的Orchestration被挂起,在这个Orchestration上点击右键,选Orchestration Debugger 1.2.2 在断点的Orchestration服务实例如果一个Orchestration 已经被设置了断点(如何设置断点后面讨论),Orchestration运行到断点处中断,Orchestration服务实例处于运行中状态。查看这样的服务实例同上面步骤一样,只是在第三步是查看Running Service Instances。 2、 设置断点在Orchestration Debugger中打开了一个Orchestration后,就可以对这个Orchestration设置断点了。 在Orchestration Debugger中,一个Orchestration只显示流程的中间部分,Port Surface部分的端口不被显示,可以在流程的各个形状上设置断点:
Figure 5 Orchestration Debugger中设置断点 设置断点的方法是:选择要需要设置断点的形状,按F9。如果要取消断点,再次按F9键。 2.1. 类级别断点上面方法设置的断点是类级别的断点,一旦设置了,对以后的这个Orchestration的服务实例都起作用,直到取消这个断点。 2.2. 实例级别断点当在Orchestration Debugger中附加(Attach)当前在断点的Orchestration服务实例(如何附加下面讨论),即真正在Orchestration Debugger中打开了在断点的那个服务实例后,这时设置的断点只针对当前正在调试的Orchestration服务实例,对其他服务实例不起作用。 3、 断点调试必须在Orchestration Debugger中打开需要被调试的那个Orchestration服务实例才能对这个Orchestration服务实例进行调试。 只有运行中的Orchestration服务实例才能被断点调试。 运行中的Orchestration服务实例一般有两种情况:出错被挂起、在设置的断点处中断。 出错被挂起的Orchestration服务实例在Biztalk Administration Console挂起的服务中找。在断点处中断的服务在Biztalk Administration Console的Running Service Instances中找。 l 在找到的需要调试的Orchestration上点击右键,选Orchestration Debugger l 在打开的Orchestration Debugger窗口中,选Debug – Attach,这样就把当前需要调试的服务实例附加进来。这时的Orchestration Debugger看上去是这样:
Figure 6 Orchestration Debugger中附加服务实例后断点 这时,可以看到,服务实例被附加进来,并在设置的断点处中断,窗口下部多了两个窗格。 Variable List 窗格显示了当前消息、变量和端口。 Variable List 窗格显示的变量的类型格式为: Assembly.Namespace.Name Variable Properties 窗格显示Variable List 窗格选择的变量的值。 Orchestration Debugger不能单步调试,但是可以通过不断的设置断点来实现类似单步调试的效果。 附加服务实例后设置的断点为实例级别的断点,只对当前服务实例有效。 四、 在流程中使用System.Diagnostics.EventLog.WriteEntry方法写入系统日志设计中在orchestration的一些关键点设置了表达式形状,在orchestration运行到这些点的时候,表达式往日志中写入表示已执行到这一点的信息。使用类似下面这样的语句: System.Diagnostics.EventLog.WriteEntry("用户信息插入到Sql之前","Ack_Sample");
12月19日 今天真是我喜欢今天:)过去,人们是相信神的,为什么?因为神很好,很强大。人类为什么也不能强大呢?因为人类的硬件设施还没有强大到能撼动神的地位。 人类的历史昭示了,随着硬件设施的逐渐强大,做功能力就会增强,人类终将达到挑战神的境地。 现在,工作的时候,有三台显示器,4台独立的机器。桌上左右各一台液晶,正中一本本(远程到我隔壁办公室的另一台机)。仿佛想起了当年《红莲寺》的独白,“左青龙右白虎上朱雀下玄武”。 硬件上去了,不知道脑子够不够用了。。。 今天真是我喜欢今天:) 12月10日 微风细雨----邓丽君双休的周末贡献给了项目,不过coding之余也收获了份小礼物。连听了两天的老歌,罗大佑,蔡幸娟,辛晓琪。。。这些过去熟悉的面孔和他们的歌手又一次在空荡的办公室里响起,始终觉得,像过去父母辈说的,过去的东西就是质量好,比如上海牌老轿车,永久的28寸自行车,还有这些久经不衰的歌声。 《微风细雨》是邓丽君的一首很轻快抒情的曲子,今天也是个雨天,阴阴霾霾的,让人感觉很好,空气也清新许多。 微风吹着浮云细雨漫漫飘落大地淋着我 淋着你淋的世界充满诗意微风伴着细雨像我伴着可爱的你看着我 看着你看这世界多么美丽啊 愿我是风你是雨啊 微风尽在细雨里漫步青青草地小草也在轻轻低语诉说无尽蜜语让我们共寻觅微风吹着浮云细雨漫漫飘落大地淋着我 淋着你淋的世界充满诗意微风伴着细雨像我伴着可爱的你看着我 看着你看这世界多么美丽啊 愿我是风你是雨啊 微风尽在细雨里漫步青青草地小草也在轻轻低语诉说无尽蜜语让我们共寻觅诉说无尽蜜语让我们共寻觅诉说无尽蜜语让我们共寻觅12月5日 永遠の翼----映画「俺は、君のためにこそ死ににいく」主题歌永遠の翼----映画「俺は、君のためにこそ死ににいく」主题歌
这部片子的中文是《吾为君亡》,虽然不是很提倡里面的suicide bombing activity,但是对于其中将王,军人,百姓对于民族的情感值得深思。如果有空,再贴一点此类的影评。总之,片子的最后,我已经无法确定自己到底是站在了日本还是中国的角度了,也许会有人说是给洗脑了,不过,我依然要问,倘若战败给美国的不是日本,而是中国,我们的军民,百姓,乃至那些所谓的ZF官员,会这么做么?我们已经在自欺欺人地度过了54个年头,不断地在内耗中浪费自己生命,假相在这个国家中已经不是个别的现象,待到石油枯竭,便让这个国度也随之而去吧~
歌词如下:
真白い雲の ただよう果て
何があるの? 桜の丘で ねころんで 夢を見てた いつか戻ってきたい場所は きっとここにある 永遠の翼がほしい
また会う瞬間(とき)のために はかないこの命を 朝日のように燃やしながら はばたいてゆこう 街灯(あかり)の下を ふたりのり
自転車こいで 強く抱きつく あぁ ぬくもり 涙が出そう 失ってはいけないものを 知ってしまったよ 永遠の翼広げ
ただ君のためだけに まばゆいその笑顔が 消えないように願いながら はばたいてゆこう 僕らがいつも目ざすのは
愛しいものたちの幸せ 絶望の先に必ずある ひと筋の希望の光 永遠の翼広げ
ただ君のためだけに まばゆいその笑顔が 消えないように願いながら 永遠の翼があるなら 清らかな風に乗\って いつかくる優しい未来を 胸に描き 信じながら はばたいてゆこう spread your wings and fly away 12月4日 使用BizTalk Server常见问题处理在开始开发BizTalk项目的时候,一些开发者会碰到许多基础问题,本文对这些常见问题进行罗列,其中有个别问题笔者向微软的BizTalk工程师寻求了问题解决方案,旨在让使用BizTalk的朋友更快的进行开发。文中的内容基于BizTalk Server 2006和Visual Studio 2005。 1. 在多列结果上不支持数据流 2. 缺少根元素 3. 重新部署BizTalk应用程序无法刷新服务器运行实例 4. 在vs.net 2005中无法自动刷新程序集引用 5. 验证架构文件(.xsd)出现错误 BEC2004 错误信息:(VS2005输出的错误信息有点读不通) 6. 通过vs.net部署应用项目提示“无法添加资源” 7. 只能在原子作用域或服务中声明非序列化对象类型 8. 消息引擎无法从数据库检索配置。详细信息:“c0002a1f” 9. 日志项字符串太长。写入事件日志的字符串不能超过 32766 个字符 10. BizTalk Server 2006安装问题 11. 设置MQSeries传输属性的队列定义,队列管理器失败 12. 非法尝试更新消息“Message_XXX”的只读属性值 13. 使用SQL适配器发送数据提示“新事务不能登记到指定的事务处理器中” 14. 分步启动BizTalk Server 2006应用程序出错 添加SQL适配器元数据提示“无法执行SQL语句。请确保提供的语法正确。” 15. 添加SQL适配器元数据提示“无法执行SQL语句。请确保提供的语法正确。新事务不能登记到指定的事务处理器中。” 16. 在基于内容的消息路由中提示“无法路由发布的消息,因为找不到订户” 错误信息: 17. 执行接收管道时出错,没有任何拆装 阶段组件可识别该数据 18. 执行发送管道时出错,原因: 根级别上的数据无效 19. 配置MQSeries适配器的队列定义信息选择本地服务器队列管理器出错 20. 通过MQSeries适配器发送消息提示访问被拒绝 21. 在应用程序日志中出现“文件系统连接器中发生错误” |
|
|