diff --git a/Engine/Handlers/LCClassHookHandler.cs b/Engine/Handlers/LCClassHookHandler.cs index 20e6351..8ee8698 100644 --- a/Engine/Handlers/LCClassHookHandler.cs +++ b/Engine/Handlers/LCClassHookHandler.cs @@ -30,6 +30,13 @@ namespace LeanCloud.Engine { LCObject obj = LCObject.Create(className); obj.Merge(objectData); + // 避免死循环 + if (hookName.StartsWith("before")) { + obj.DisableBeforeHook(); + } else { + obj.DisableAfterHook(); + } + LCUser user = null; if (dict.TryGetValue("user", out object userObj) && userObj != null) { diff --git a/Engine/LCEngine.cs b/Engine/LCEngine.cs index 67443e7..554047e 100644 --- a/Engine/LCEngine.cs +++ b/Engine/LCEngine.cs @@ -65,6 +65,7 @@ namespace LeanCloud.Engine { LCApplication.Initialize(Environment.GetEnvironmentVariable("LEANCLOUD_APP_ID"), Environment.GetEnvironmentVariable("LEANCLOUD_APP_KEY"), Environment.GetEnvironmentVariable("LEANCLOUD_API_SERVER")); + LCApplication.AddHeader(LCHookKeyName, Environment.GetEnvironmentVariable("LEANCLOUD_APP_HOOK_KEY")); Assembly assembly = Assembly.GetCallingAssembly(); ClassHooks = assembly.GetTypes()