IIS 7.5 + Classic ASP + Forms Auth = 記憶體洩漏?
當我從下面的文件中實現標題為“利用集成管道”的部分時,w3wp.exe 程序的記憶體使用計數器會隨著對經典 asp 測試頁面的請求而增加。我正在查看資源監視器中的送出、工作集、可共享和私有字節。我的測試頁面(如下)大約會自動刷新。每秒一次。每個請求都會增加記憶體使用量。當我從 web.config(如下)中刪除模組部分時,問題不會發生。
這是設計使然嗎?還是我應該進行其他配置更改以穩定記憶體消耗?
我的目標是與經典 asp 一起實現表單身份驗證。它工作得很好,除了這個記憶體問題。
這是將舊版應用程序遷移到 .net,請不要推薦基本身份驗證或放棄經典的 asp 要求。我也在這裡問過這個問題。
謝謝!
文件:
我的伺服器/IIS 配置:
Win2k8 R2 SP 1、64 位、IIS 7.5、7.5 GB 記憶體新鮮 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 位
網路配置:
<?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 更新是最新的。
我相信我已經在這裡回答了我自己的問題。
我找到了這篇文章的作者,發現他後來成立了一家公司,提供名為 LeanSentry 的 Windows 監控/分析服務(我與該服務沒有任何關聯。)
我將該服務連接到我的測試 EC2 伺服器,發現對我的測試頁面的每個請求都由於缺少 favicon.ico 靜態文件而導致 404 錯誤,並且身份驗證模組在此過程中正在消耗記憶體。我將失去的 favicon 文件放在了根網站文件夾中,並且在大約 10 分鐘的初始增長期之後,記憶體使用量現在保持不變。
如果您遇到同樣的問題,我希望這會有所幫助!