Repository navigation
fix(client): 为动态注册与替换提供远端合同可见性屏障 (#760) - #768
Merged
Merged
Conversation
This was referenced Oct 3, 2026
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
独立控制连接的动态注册/替换返回成功后,已经 Ready 的数据连接可能尚未收到新的 ContractManifest,合法
Get因而被拒绝。本 PR 提供显式、可取消的 wire identity 可见性屏障;Get 保持同步并继续原有校验。验证(Linux x64,SDK 10.0.102 / runtime 10.0.2):Release 全 solution 构建零 warning/error;新增 21 条确定性 Unit 测试通过;完整 Unit 1,875、Generator 269、Integration 453、LoadTest component Unit 60 全部通过,无 failure/skip。动态模块分组 44 条全部通过。Whitespace、maintainability、project-reference boundary、generated Runtime dependency guard 和八包完整 public API 检查通过;实际打包 API 仅新增四个有默认实现的接口方法,原签名和 wire/Generated ABI 不变。默认接口实现对旧自定义客户端明确 NotSupported。
首次测试发现的夹具缺项已修正:空路由集群声明 AllowDynamicContracts,控制连接显式选请求超时策略,cluster removal 使用有界 drain 等待而非零时限要求异步清理瞬时完成。
此 PR 是上游源码修复,不宣称已发布正式 NuGet。Kan#518/#730 仍需消费正式修复版本并完成原失败三平台验收;Windows 的 ContractMismatch 必须保留原始 bind-handler 异常证据,不假定与 Linux 同因。
Fixes #760
关联 SunSi12138/Kan#518、SunSi12138/Kan#730。