BoldDeskWe are launching BoldDesk on Product Hunt soon. Learn more & follow us.
I am seeing memory consumption skyrocket after upgrading from 20.3.0. .47 to 20.3.0.59. I have an SfChart with SfMultiSelect dropdown filters and date pickers. When the dataset is large and filtering of the dropdowns occurs, it may take a few seconds to render them. Changing the dropdown or datepickers triggers a rerender of the data in the dropdowns. If i interact with the dropdowns or datepickers during the render period, the app can get into a state where memory in the w3wp IIS process grows indefinitely until it consumes all the available memory on the server. The memory will grow even without any user accessing the site.
This condition does not occur on version .47
ex mutiselect:
<SfMultiSelect Width="500" Mode="VisualMode.CheckBox" TValue="int[]" TItem="SenderDomainModel" DataSource="@SenderDomainList"
@bind-Value="SelectedSenderDomainIds" AllowFiltering="true" ShowClearButton="false" ShowSelectAll=true SelectAllText="Select All" UnSelectAllText="Unselect All">
<MultiSelectEvents TItem="SenderDomainModel" TValue="int[]" ValueChange="ReloadDropdownsAsync" />
<MultiSelectFieldSettings Text="SenderDomain" Value="SenderDomainId"></MultiSelectFieldSettings>
<MultiSelectTemplates TItem="SenderDomainModel">
<ItemTemplate Context="SenderDomainContext">
@{
SenderDomainModel sd = SenderDomainContext as SenderDomainModel;
}
<span>
<span>@sd.SenderDomain</span>
</span>
</ItemTemplate>
</MultiSelectTemplates>
</SfMultiSelect>
Hi Hakop,
Greetings from Syncfusion.
We would like to know the following details to analyze the reported scenario further.
The above requested details will be helpful for us to analyze further and assist you better.
Regards,
Swetha
This is a simplified version of everything on the page, where there are multiple controls i included one. so to answer your first question the chart and multiselect are separate, mutiselect is in a form and chart is in a tab.
I can look into making a video next. Create a new app to demo this will take more time and I hope you can do that based on the current info
The method ReloadDropdownsAsync() is pulling a bunch of data from repopulating the multiselects.
The method GenerateReportAsync() populates the grid data
<EditForm Model="@ReportRequest" OnValidSubmit="@GenerateReportAsync">
<SfDatePicker TValue="DateTime?" @bind-Value='@EndDate' Min='@EndMinDate' Max='@MaxDate'>
<DatePickerEvents TValue="DateTime?" ValueChange="ReloadDropdownsAsync"></DatePickerEvents>
</SfDatePicker>
<SfMultiSelect Width="500" Mode="VisualMode.CheckBox" TValue="int[]" TItem="SenderDomainModel" DataSource="@SenderDomainList"
@bind-Value="SelectedSenderDomainIds" AllowFiltering="true" ShowClearButton="false" ShowSelectAll=true SelectAllText="Select All" UnSelectAllText="Unselect All">
<MultiSelectEvents TItem="SenderDomainModel" TValue="int[]" ValueChange="ReloadDropdownsAsync" />
<MultiSelectFieldSettings Text="SenderDomain" Value="SenderDomainId"></MultiSelectFieldSettings>
<MultiSelectTemplates TItem="SenderDomainModel">
<ItemTemplate Context="SenderDomainContext">
@{
SenderDomainModel sd = SenderDomainContext as SenderDomainModel;
}
<span>
<span>@sd.SenderDomain</span>
</span>
</ItemTemplate>
</MultiSelectTemplates>
</SfMultiSelect>
</EditForm>
<SfDashboardLayout @ref="dashboardObject" Columns="10" CellSpacing="@Spacing" CellAspectRatio="@Ratio">
.........
</SfDashboardLayout>
<SfTab CssClass="default-tab" HeaderPlacement="HeaderPosition.Top">
<TabItems>
<TabItem>
<ChildContent>
<TabHeader Text="Chart" IconCss="fa-solid fa-chart-pie"></TabHeader>
</ChildContent>
<ContentTemplate>
<SfChart Title="Seed Report" Width="100%" Theme="@Theme">
</ContentTemplate>
</TabItem>
</TabItems>
</SfTab>
Hakop,
This query has been branched as a new forum. So, please follow the below forum link for further updates.
Regards,
Swetha