좋은 답변이지만 항상 세션에 의존하지 않도록주의하십시오. 그렇게하는 것은 쉽고 빠르며 물론 작동하지만 모든 상황에 적합하지는 않습니다.
예를 들어 호스팅에서 세션 사용을 허용하지 않는 시나리오 나 웹 팜에 있거나 공유 SharePoint 응용 프로그램의 예인 경우.
다른 솔루션을 원한다면 Castle Windsor 와 같은 IOC 컨테이너 를 사용하여 공급자 클래스를 래퍼로 만든 다음 요구 사항에 따라 요청 또는 세션 라이프 스타일을 사용하여 클래스의 인스턴스 하나를 유지하십시오.
IOC는 매번 동일한 인스턴스가 리턴되도록합니다.
더 복잡한 예, 간단한 솔루션이 필요한 경우 세션을 사용하십시오.
다음은 관심없는 일부 구현 예입니다.
이 방법을 사용하면 다음 줄을 따라 공급자 클래스를 만들 수 있습니다.
public class CustomClassProvider : ICustomClassProvider
{
public CustomClassProvider(CustomClass customClass)
{
CustomClass = customClass;
}
public string CustomClass { get; private set; }
}
그리고 다음과 같이 등록하십시오 :
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
Component.For<ICustomClassProvider>().UsingFactoryMethod(
() => new CustomClassProvider(new CustomClass())).LifestylePerWebRequest());
}