0
나는 윈저와 함께 풀링 라이프 스타일을 시험해 보았습니다.
ILOGger의 풀을 사용하여 여러 CustomerTask를 작업하게하고 싶습니다.
maxPoolSize보다 더 많은 시간을 해결하려고하면 새 로거가 계속 만들어집니다.윈저와 풀링
나는 무엇을 놓치고 무엇이 최대 수영장 크기의 의미인가?
<component id="customertasks" type="WindsorTest.CustomerTasks, WindsorTestCheck" lifestyle="transient" />
<component id="logger.console" service="WindsorTest.ILogger, WindsorTestCheck" type="WindsorTest.ConsoleLogger, WindsorTestCheck" lifestyle="pooled" initialPoolSize="2" maxPoolSize="5" />
코드는 다음과 같습니다 :
내가 사용하는 XML 구성은 (데모 코드)입니다
public interface ILogger
{
void Log(string message);
}
public class ConsoleLogger : ILogger
{
private static int count = 0;
public ConsoleLogger()
{
Console.WriteLine("Hello from constructor number:" + count);
count++;
}
public void Log(string message)
{
Console.WriteLine(message);
}
}
public class CustomerTasks
{
private readonly ILogger logger;
public CustomerTasks(ILogger logger)
{
this.logger = logger;
}
public void SaveCustomer()
{
logger.Log("Saved customer");
}
}