问题描述
我在网站中自己写了一个HttpModule监听请求,代码如下我按着F5不松手,刷新页面,发现IIS应用程序池的内存一点点的上涨,上涨到100多兆还没停下来,想了解下是怎么回事?怎么解决?{publicclassCacheModule:IHttpModule{CacheServiceservice=null;publicvoidInit(HttpApplicationcontext){if(InitSetting()){context.BeginRequest+=newEventHandler(OnBeginRequest);}}//初始化设置boolInitSetting(){stringconfigPath=AppDomain.CurrentDomain.BaseDirectory+ConfigurationManager.AppSettings["PageCache:Config"]??"PageCache.Config";Config.Configconfig;if(Config.ConfigBuilder.TryParseConfig(configPath,outconfig)){if(!config.Enable){returnfalse;}Setting.Settingsetting=newSetting.Setting(config);this.service=newCacheService(setting);returntrue;}returnfalse;}//当用户请求时触发publicvoidOnBeginRequest(Objectsource,EventArgse){HttpApplicationapplication=(HttpApplication)source;HttpContextcontext=application.Context;service.Process(context);}publicvoidDispose(){}}
解决方案
解决方案二:
两次测试都是这样的结果,不知道为什么,然后我手工回收应用程序池内存才释放掉,如何让内存快速释放掉呢?而又不影响性能?
解决方案三:
你总共有多少内存?
解决方案四:
凡是没有必要回收内存时去回收内存的行为,都是影响性能的。这其实是很明显的结论。
解决方案五:
好吧,我以为内存会用过之后就释放掉,顺便再问个问题,asp.net如何输出Transfer-Encoding:chunked分段输出浏览器结果给用户?看java下似乎很好实现的样子http://lokki.iteye.com/blog/1072327
解决方案六:
引用3楼sp1234的回复:
凡是没有必要回收内存时去回收内存的行为,都是影响性能的。这其实是很明显的结论。
好吧,我以为内存会用过之后就释放掉,顺便再问个问题,asp.net如何输出Transfer-Encoding:chunked分段输出浏览器结果给用户?看java下似乎很好实现的样子http://lokki.iteye.com/blog/1072327