我有一个ASP.NET MVC应用程序,它使用Castler Windsor IoC在每个Web请求的基础上创建一个Linq2SQL datacontext。Linq to SQL DataContext Windsor IoC内存泄漏问题
由于某些原因,我不完全理解,每次创建新的数据上下文(在每个Web请求上)大约8K内存被占用并且未释放 - 这不可避免地导致OutOfMemory异常。
如果我强制垃圾收集内存释放OK。
我DataContext类是非常简单的:
public class DataContextAccessor : IDataContextAccessor
{
private readonly DataContext dataContext;
public DataContextAccessor(string connectionString)
{
dataContext = new DataContext(connectionString);
}
public DataContext DataContext { get { return dataContext; } }
}
温莎国际奥委会webconfig实例化这个看起来像这样:
<component id="DataContextAccessor"
service="DomainModel.Repositories.IDataContextAccessor, DomainModel"
type="DomainModel.Repositories.DataContextAccessor, DomainModel"
lifestyle="PerWebRequest">
<parameters>
<connectionString>
...
</connectionString>
</parameters>
</component>
有谁知道问题是什么,以及如何解决它?
参见:http://stackoverflow.com/questions/85183/windsor-container-how-to-force-dispose-of-an-object http://stackoverflow.com/questions/132940/why-does-城堡温莎举行,在瞬态对象 – 2009-11-11 00:40:27