graphql-client
graphql-client copied to clipboard
OutOfMemory Exception
Hi,
we are getting outOfMemory exception after 700-800 request executes successfully.
Error stack : System.OutOfMemoryException: at System.Threading.Thread.StartInternal (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Threading.Thread.Start (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) at System.Reactive.Concurrency.EventLoopScheduler.EnsureThread (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263) at System.Reactive.Concurrency.EventLoopScheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263) at System.Reactive.Concurrency.LocalScheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263) at System.Reactive.Concurrency.Scheduler.Schedule (System.Reactive, Version=4.3.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263) at GraphQL.Client.Http.Websocket.GraphQLHttpWebSocket..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null) at GraphQL.Client.Http.GraphQLHttpClient..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null) at GraphQL.Client.Http.GraphQLHttpClient..ctor (GraphQL.Client, Version=3.0.3.0, Culture=neutral, PublicKeyToken=null) at SmartX.Bot.Services.BaseApiClient..ctor (SmartX.Bot.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null) at SmartX.Bot.Services.OotfExperiences.OotfExperienceApiClient..ctor (SmartX.Bot.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null) at CalendarSkill.Services.OotfXAPI.OotfxCalendarApi.InitOotfExperienceApiClient (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Services\OotfXAPI\OotfxCalendarAPI.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 455) at CalendarSkill.Services.ServiceManager.InitCalendarService (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Services\ServiceManager.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 47) at CalendarSkill.Dialogs.CalendarSkillDialogBase+<SearchEventsWithEntities>d__38.MoveNext (CalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=nullCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\calendarskill-JCI\calendarskill\Dialogs\CalendarSkillDialogBase.csCalendarSkill, Version=1.0.34.0, Culture=neutral, PublicKeyToken=null: 353)
Code:
public readonly GraphQLHttpClient ApiClient;
public BaseApiClient(Connection connection, OAuthDetails oAuthDetails) { this._apiConnection = connection ?? throw new ArgumentNullException(nameof(connection)); this._oAuthDetails = oAuthDetails ?? throw new ArgumentNullException(nameof(oAuthDetails)); if (connection.EndPointUri == null) throw new ArgumentNullException(nameof(connection.EndPointUri)); this.ApiClient = new GraphQLHttpClient(connection.EndPointUri, new NewtonsoftJsonSerializer()); this.ApiClient.HttpClient.DefaultRequestHeaders.Clear(); this.AddTokenToRequestHeaders(); if (connection.CollectionId.HasValue()) { this.ApiClient.HttpClient.DefaultRequestHeaders.Add("collectionId", connection.CollectionId); } }
This is how we are disposing objects: this.ApiClient.HttpClient.Dispose(); this.ApiClient.Dispose();
can someone help us in fixing the issue?