我正在开发一个实用程序类,其中包含多个线程经常调用的静态方法。我注意到内存使用量随着时间的推移而增长,所以在我看来我有一些内存泄漏。
这是我用于这些静态方法的模式的一个简单示例:
public static int CreateNewThing(int IDofSomeDBObjectHoldingInfoToCreateNewThing)
{
using(SomeDBContext context = new SomeDBContext(connectionString))
{
SomeDBObjectHoldingInfoToCreateNewThing createNewThingyInfo = context.SomeDBObjectsHoldingInfoToCreateNewThing.First(obj => obj.ID == IDofSomeDBObjectHoldingInfoToCreateNewThing);
// Do some stuff to create the new object
// Return the ID of the newly created thingy...
return theNewThingThatWasCreated.ID;
}
}
我的问题是使用“使用”语句或在静态方法中直接调用 Dispose 是否实际上会清除任何内存。当然,我没有说明这个应用程序的整体架构或目的,但我也想知道我是否在这里使用了最好的模式。在 .NET 中创建线程安全实用程序类的最佳实践是什么?