ASP.Net - w3wp, потребляющий память на базовом веб-приложении

Я создал очень простое веб-приложение, пытаясь изолировать, как мне кажется, утечку памяти в производственном веб-приложении, в котором процесс w3wp потребляет память при каждом входе в систему и, по-видимому, не освобождает эту память. Я заметил, что мое очень простое веб-приложение также потребляло память в процессе iisexpress/w3wp, просто запустив приложение и нажав кнопку "Обновить" на странице. После 20-кратного обновления страницы процесс хостинга (iisexpress/w3wp) потребляет от 5 до 14 МБ памяти, которую он не освобождает. Когда я делаю снимки памяти с помощью диагностических инструментов VS 2015, кажется, что объем памяти остается относительно плоским.

Что заставило бы этот объем памяти использоваться процессом хостинга? Что можно сделать, чтобы уменьшить или исключить использование памяти?

Из любопытства я добавил вызов сборки мусора, GC.Collect(3), в событие Page_Load, и это, кажется, сохраняет использование памяти на одном уровне. Просмотр снимков памяти до и после вызова GC.Collect() не показывает что-либо последовательно очищаемое. И это работает, только если я вызываю GC для каждой загрузки страницы. Вызов GC каждый раз, похоже, не является решением проблемы.

Я использую это на своей машине для разработки под управлением Windows 10. Я использую настройки хоста по умолчанию для IISExpress и IIS. Веб-приложение создано из пустого проекта веб-приложения 4.6.1 asp.net. Веб-приложение имеет одну страницу веб-формы, login.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="WebFormTesting.Login" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="login" method="post" runat="server">
        <div>
            <div style="height: 250px; width: 500px; position: absolute; left: 380px; top: 120px;">
                <div class="clsText10">
                    <asp:TextBox ID="txtUsername" TabIndex="1" Width="160px" runat="server" ToolTip="Enter User Name"
                        MaxLength="100" Style="position: absolute; right: 130px; top: 5px;"></asp:TextBox>
                    <br />
                    <asp:TextBox ID="txtPassword" TabIndex="2" runat="server" ToolTip="Enter Password"
                        MaxLength="25" Width="160px" TextMode="Password" Style="position: absolute; right: 130px; top: 50px;"></asp:TextBox>
                    <br />
                    <asp:Label ID="Label1" runat="server" CssClass="clsText10"
                        Style="font-weight: bold; position: absolute; right: 120px; top: 85px;" Text="(Please note: Password values are case sensitive.)"></asp:Label>
                    <asp:Button ID="btnLogin" TabIndex="3" runat="server" Text="Login" CssClass="btn btn-primary"
                        ToolTip="Verify User Name and Password" OnClick="btnLogin_Click" Width="120"
                        Style="position: absolute; right: 180px; top: 180px;"></asp:Button>
                    <div>
                        <asp:Label ID="lblUsername" Text="User Name:&nbsp;" runat="server" Style="position: absolute; right: 310px; top: 5px;"></asp:Label>
                        <br />
                        <asp:Label ID="lblPassword" Text="Password:&nbsp;" runat="server" Style="position: absolute; right: 310px; top: 50px;"></asp:Label>
                        <br />
                        <asp:Label ID="txtError" runat="server" Visible="true" Style="z-index: 100; width: 450px; text-align: right; position: absolute; top: 115px; right: 130px;"></asp:Label>
                    </div>
                </div>
            </div>
        </div>
    </form>
</body>
</html>

С кодом за страницей, Login.aspx.cs:

using System;

namespace WebFormTesting
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //
        }
    }
}

0 ответов

Другие вопросы по тегам