我发现 ServiceRuntime.RegisterServiceAsync在服务实际注册之前返回并且作为参数传递的工厂 Func 完成之前返回非常不直观。
考虑一下您需要解析正在注册的相同 ServiceName 的场景。你只能从serviceFactory Func中获取的ServiceContext中获取ServiceName。您可能认为一旦获得上下文就可以在 serviceFactory Func 中进行解析。但随后您会进入“死锁”,解析调用将永远陷入困境,因为它等待您正在注册的服务完成。
这就是为什么我期望 RegisterServiceAsync 仅在 serviceFactory Func 完成后才能完成。