{"record":{"id":"9b8ce227d5b6bf00","repo":"egametang/ET","slug":"service-discovery-proxy-message-sender-is-null-sc","errorCode":null,"errorMessage":"service discovery proxy message sender is null, scene: {self.Root().Name}","messagePattern":"service discovery proxy message sender is null, scene: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoveryProxySystem.cs","lineNumber":726,"sourceCode":"            return ServiceDiscoveryHelper.GetServiceInfoByFilter(self.SceneNameServices, self.ServicesIndexs, filterMetadata);\n        }\n\n        public static ServiceInfo GetByName(this ServiceDiscoveryProxy self, string name)\n        {\n            return self.SceneNameServices[name];\n        }\n\n        #endregion\n\n        #region 兼容调用面\n\n        public static async ETTask<IResponse> Call(this ServiceDiscoveryProxy self, string sceneName, IRequest request, bool needException = true)\n        {\n            ServiceInfo serviceInfo = self.GetServiceInfo(sceneName);\n            MessageSender messageSender = self.Root().GetComponent<MessageSender>();\n            if (messageSender == null)\n            {\n                throw new Exception($\"service discovery proxy message sender is null, scene: {self.Root().Name}\");\n            }\n\n            return await messageSender.Call(serviceInfo.ActorId, request, needException);\n        }\n\n        #endregion\n    }\n}\n","sourceCodeStart":708,"sourceCodeEnd":735,"githubUrl":"https://github.com/egametang/ET/blob/5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f/Packages/cn.etetet.servicediscovery/Scripts/Hotfix/Server/ServiceDiscoveryProxySystem.cs#L708-L735","documentation":"Error \"service discovery proxy message sender is null, scene: {self.Root().Name}\" thrown in egametang/ET.","triggerScenarios":"ServiceDiscoveryProxy 场景尚未初始化 MessageSender 组件（Scene 上缺少 MessageLocationSenderComponent 或初始化尚未完成）就发送消息","commonSituations":"See trigger scenarios.","solutions":["确认该 Scene 上已挂载消息发送组件（MessageLocationSenderComponent）","确认在 FiberInit 初始化完成之后再发起 service discovery 请求","检查场景类型是否属于应挂载消息发送组件的进程内 Scene"],"exampleFix":"在 FiberInit 中确保 AddComponent<MessageLocationSenderComponent>() 早于任何 Send 调用执行。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f","analyzedAt":"2026-08-13T21:10:40.377Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}