我有一个 Windows 服务,它会一直循环直到它停止。每个循环后有 15 秒的线程间隔。我正在使用统一容器来解析对象,如下所示:
var processes = ProcessConfigurationSection.GetProcesses();
while (!_stopped)
{
try
{
foreach (var process in processes)
{
var worker = new Worker(DiContainer.UnityContainer.Resolve<IProcessDao>());
worker.RunProcess(process.Name, process.StoredProcedure, process.BatchSize);
}
Thread.Sleep(_interval);
}
catch (Exception ex)
{
Log.LogEvent(...);
}
}
我应该在while循环内创建一个worker的实例(并解析对象)还是应该在while循环之外以提高性能?此外,这两种方法都有内存泄漏的可能性吗?