From bff317aee93fb9e62d14f52bbab8c10be2a89fa6 Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Fri, 9 Apr 2021 16:07:17 -0300 Subject: [PATCH 1/2] Do not call flushBuffers on exitApplication if object does not have batchCursors --- .../dotnetframework/GxClasses/Model/gxproc.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/dotnet/src/dotnetframework/GxClasses/Model/gxproc.cs b/dotnet/src/dotnetframework/GxClasses/Model/gxproc.cs index 6f1169c8d..286836a69 100644 --- a/dotnet/src/dotnetframework/GxClasses/Model/gxproc.cs +++ b/dotnet/src/dotnetframework/GxClasses/Model/gxproc.cs @@ -80,10 +80,21 @@ public static WaitCallback PropagateCulture(WaitCallback action) action(x); }; } + protected void ExitApp() + { + exitApplication(BatchCursorHolder()); + } protected void exitApplication() { - foreach (IGxDataStore ds in context.DataStores) - ds.Connection.FlushBatchCursors(this); + exitApplication(true); + } + private void exitApplication(bool flushBatchCursor) + { + if (flushBatchCursor) + { + foreach (IGxDataStore ds in context.DataStores) + ds.Connection.FlushBatchCursors(this); + } if (IsMain) dbgInfo?.OnExit(); @@ -103,7 +114,7 @@ protected void exitApplication() #endif } - + protected virtual bool BatchCursorHolder() { return false; } protected virtual void printHeaders(){} protected virtual void printFooters(){} From 062f30dacc0e659219802787be5152dbfc15193a Mon Sep 17 00:00:00 2001 From: cmurialdo Date: Fri, 9 Apr 2021 19:21:31 -0300 Subject: [PATCH 2/2] Do not call flushBuffers on exitApplication if object does not have batchCursors --- dotnet/src/dotnetframework/GxClasses/Middleware/GXHttp.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dotnet/src/dotnetframework/GxClasses/Middleware/GXHttp.cs b/dotnet/src/dotnetframework/GxClasses/Middleware/GXHttp.cs index c9bc1b152..bb0987708 100644 --- a/dotnet/src/dotnetframework/GxClasses/Middleware/GXHttp.cs +++ b/dotnet/src/dotnetframework/GxClasses/Middleware/GXHttp.cs @@ -1322,8 +1322,7 @@ public string StaticContentBase set { staticContentBase = value; } } - - protected void exitApplication() + protected void ExitApp() { if (disconnectUserAtCleanup) { @@ -1333,7 +1332,11 @@ protected void exitApplication() } catch (Exception) {; } } + } + protected void exitApplication() + { + ExitApp(); } private bool IsGxAjaxRequest()