恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

当前实现中两个委托不是并行执行,而是“新优先、旧兜底”

  • 首页
  • 资讯中心
  • /
  • 当前实现中两个委托不是并行执行,而是“新优先、旧兜底”

相关资讯

将自己 new 的对象纳入 IoC 容器管理详解 2026/9/28 4:45:41
9.27学习笔记 2026/9/28 4:45:41
不会代码也能搞定wordpresswpex完整流程的实战指南 2026/9/28 4:40:41

最新资讯

绕开SDK,用TSPL指令玩转蓝牙标签打印机与二维码生成
VT-x/AMD-V无痕Hook实战:从原理到代码的完整指南
哈尔滨老房翻新机构排行:口碑不错的品牌企业实力与用户口碑深度解析
Java学生信息管理系统实战源码:含数据库脚本+IDEA开箱即用
Qt Creator串口开发实战:QSerialPort安装配置与调试工具编写
Windows操作系统基础安全加固:账号权限、端口防护与日志审计实战

今日推荐

婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量
制作网页比较方便的软件怎么选?一文搞懂避坑指南
BootCamp6.1.7071驱动包手动安装与回滚全攻略

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

当前实现中两个委托不是并行执行,而是“新优先、旧兜底”

发布时间:2026/9/28 4:45:41
当前实现中两个委托不是并行执行,而是“新优先、旧兜底” 当前实现中两个委托不是并行执行而是“新优先、旧兜底”。在 [AutomaticStationPipeline.cs]if(FailureAsync!null)returnFailureAsync(context,result);returnHandleFailureAsync!null?HandleFailureAsync(context.Product,result.Message,context.CancellationToken):Task.CompletedTask;因此现在 [EnsureAutomaticPipelineStarted] 同时赋值后HandleFailureAsyncHandlePipelineHandleFailureAsync,FailureAsyncHandlePipelineFailureAsync,实际只会执行FailureAsync - HandlePipelineFailureAsync(context, result) - HandlePipelineHandleFailureAsync(product, message, token)HandleFailureAsync委托本身不会被直接调用因为FailureAsync非空。它只是为旧工站或旧调用方保留的兼容回调。两个方法的职责差异HandlePipelineHandleFailureAsync参数只有product errorMessage token。无法知道失败类型、是否可重试、是否要求复位、恢复策略。负责旧业务兼容写一条普通失败日志。EAP Host 拒绝后执行上料位退料。当前通过errorMessage.Contains(易损件寿命到期)判断是否不弹窗。其它情况一律调用NotifyTestFailure。HandlePipelineFailureAsync参数是context AutomaticPipelineStageResult。包含完整的结构化信息FailureKindRecoveryActionCanRetryRequiresReset当前只写了结构化日志随后又把信息降级成字符串交给旧方法returnHandlePipelineHandleFailureAsync(context.Product,message,...);这导致前面已有的失败分类没有真正参与弹窗决策。当前问题HandlePipelineHandleFailureAsync命名重复且不清晰建议改为HandleLegacyPipelineFailureAsync。FailureAsync已经是正式入口HandleFailureAsync不应在同一工站同时赋值。不能使用错误文字决定弹窗例如“易损件寿命到期”文本变化后会重复弹窗。FailureAsync已知FailureKind却没有按类型分流。测试失败、停止、EAP 拒绝、可重试通讯失败目前容易走到相同的通用弹窗。建议分类类型是否弹窗处理方式OperatorStopped否记录日志继续吹扫、下料。Cancelled否记录日志不显示故障弹窗。Communication/PlcTimeout且CanRetrytrue否记录重试日志和状态重试耗尽才弹窗。Communication/PlcTimeout且不可重试是提示检查 PLC、电源、网络。SafetyInterlock是立即提示安全光幕、门禁、传感器或互锁未满足。ManualInterventionRequired是立即提示人工检查器件位置或现场状态。Unexpected是立即提示若RequiresResettrue则明确提示需复位。ContinueToPurgeAndUnload延迟先吹扫、下料在Completed中提示测试异常。EAP Host 拒绝否执行退料、记录协议日志不显示设备故障窗。易损件寿命到期否由寿命专用逻辑负责弹窗、红灯和错误码。推荐调整正式使用FailureAsyncHandlePipelineFailureAsync;不要同时赋值旧的HandleFailureAsync。旧委托保留在AutomaticStationPipelineHandlers中只供没有迁移结构化结果的旧流程使用。然后让HandlePipelineFailureAsync分为三部分1. 记录结构化日志 2. 执行必须的业务收尾 - Host 拒绝退料 - 安全复位标记 - 状态更新 3. 根据 FailureKind / RecoveryAction / CanRetry / RequiresReset 决定 - 仅日志 - 专用业务已提示 - 立即弹窗 - 下料完成后弹窗这样NotifyTestFailure只在明确需要人工立即处理时调用不再成为所有失败的默认出口。已完成失败处理优化并保留原有现场业务。修改重点当前工站只注册FailureAsync HandlePipelineFailureAsync。不再同时注册旧HandleFailureAsync避免维护时误以为两个回调都会执行。删除当前 ViewModel 中重复、拼写不清晰的HandlePipelineHandleFailureAsync业务入口。新增AutomaticPipelineFailureNotificationPolicy由流水线结果明确决定提示方式Silent停止、取消只记录日志。StatusOnlyEAP Host 拒绝等协议业务只记录日志和执行退料。AfterSafeUnload测试异常继续吹扫和下料完成后才弹窗。ImmediatePopupPLC 通讯中断、安全互锁、搬运异常、未预期异常、需复位等立即弹窗。AlreadyNotified易损件寿命等专用业务已报警不重复弹窗。保留的业务EAP Host 拒绝后仍执行扫描失败退料。Host 拒绝退料失败仍写辅助控制错误日志。测试 FAIL / ERROR 仍优先执行吹扫和下料。停止测试仍不弹“自动流程失败”窗口。易损件寿命到期仍由专用逻辑处理错误码、红灯和弹窗。立即弹窗不会重复写缺少分类信息的错误日志。修改文件[AutomaticStationPipeline.cs][StationControlViewModel.Workflow.cs]已验证编译通过0 errors。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号