Я создал набор внутренних веб-сайтов для нашей компании, чтобы управлять некоторыми из наших процессов.Я заметил, что эти страницы имеют большие утечки памяти, которые заставляют страницы использовать более 150 МБ памяти, что нелепо для веб-страницы, состоящей из одной формы и GridView, который отображает 7-10 строк данных ввремя, иногда с данными, не меняющимися в течение целого дня.Это проблема, потому что она замедляет работу наших клиентских машин из-за нехватки доступной памяти.
После некоторых испытаний выясняется, что утечка памяти чрезвычайно легко воспроизводится и очень заметна.Я создал страницу со следующей разметкой asp.net:
<body>
<form id="form1" runat="server">
<div>
<asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>
<asp:Timer ID="timer1" runat="server" Interval="1000" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
Для этого нет абсолютно никакого кода.Это вся страница.Запуск этого сайта в Chrome показывает использование памяти до 25 мегабайт в течение 20-30 секунд.Если оставить его включенным на несколько минут, объем памяти увеличится до 70 мегабайт и т. Д.
Неправильно ли я использую таймеры и панели обновления, или это чисто проблема Asp.net без каких-либо действий?
Примечание: я не говорю о памяти, используемой на сервере, я говорю о памяти, используемой на клиенте.
Редактировать: Ну, похоже, этопроблема с Chrome.Firefox и IE8, по-видимому, не имеют проблем с памятью во время работы этой страницы в течение длительного периода времени.