Назад | Перейти на главную страницу

IIS 7.5 + Classic ASP + Forms Auth = утечка памяти?

Когда я реализую раздел под названием «ПРЕИМУЩЕСТВО ИНТЕГРИРОВАННОГО ТРУБОПРОВОДА» из документа ниже, счетчики использования памяти для процесса w3wp.exe увеличиваются с запросом к классической тестовой странице asp. Я смотрю на фиксацию, рабочий набор, общие и частные байты в мониторе ресурсов. Моя тестовая страница (ниже) обновляется ок. раз в секунду. Использование памяти увеличивается с каждым запросом. Проблема не возникает, когда я удаляю раздел модулей из web.config (см. Ниже).

Это задумано? Или есть дополнительные изменения конфигурации, которые я должен сделать, чтобы стабилизировать потребление памяти?

Моя цель реализовать аутентификацию форм вместе с классическим asp. Он отлично работает, за исключением этой проблемы с памятью.

Это миграция устаревшего приложения на .net, пожалуйста, не рекомендуется использовать базовую аутентификацию или отказываться от классического требования asp. Я тоже задал этот вопрос Вот.

Спасибо!

Документ:

http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/how-to-take-advantage-of-the-iis-integrated-pipeline

Конфигурация моего сервера / IIS:

Win2k8 R2 SP 1, 64-разрядная версия, IIS 7.5, 7,5 ГБ памяти Свежий сервер EC2: Windows_Server-2008-R2_SP1-English-64Bit-SQL_2008_R2_SP2_Express-2013.04.14 (ami-c082e3a9) m1.large Встроенный пул приложений, .NET v4.0 , Интегрированный, использует идентификатор пула приложений, ограничение памяти установлено на 0 (без ограничений), только 64-разрядная версия

Web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules  runAllManagedModulesForAllRequests="true">
<remove name="UrlAuthorization" />
<remove name="DefaultAuthentication" />
<remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" />
</modules>
</system.webServer>
<system.web>
<sessionState mode="Off" />
<compilation debug="false" />
</system.web>
</configuration>

Тестовая страница:

<html>
<head>
<title>test</title>
<meta http-equiv="refresh" content="1">
</head>
<body><%=Now()%></body>
</html>

Изменить: обновление Windows актуально.

Я считаю, что здесь я ответил на свой вопрос.

Я разыскал автора статьи и обнаружил, что с тех пор он основал компанию, предлагающую службу мониторинга / профилирования Windows под названием LeanSentry (я никак не связан с этой службой).

Я подключил службу к своему тестовому серверу EC2 и обнаружил, что каждый запрос к моей тестовой странице вызывал ошибку 404 из-за отсутствует статический файл favicon.ico, а модуль аутентификации в процессе занимал память. Я поместил отсутствующий файл значка в корневую папку веб-сайта, и теперь использование памяти остается неизменным после начального периода роста, составляющего примерно 10 минут.

Надеюсь, это поможет, если вы столкнулись с той же проблемой!