1
C#으로 정적 필드에 대한 메모리 누수를 처리하기 위해, 그리고 코드는 각 사용자에 대한 동시 환경에서모범 사례 내가 사용자의 현재 인스턴스에 대한 컨텍스트 개체를 만들 수 있겠
public class WorkoutContext {
protected static WorkoutContext mWorkoutContext ;
protected WorkOut mWorkOut;
protected WorkoutContext(WorkOut workout)
{
mWorkOut= workout;
}
public static WorkoutContext CreateContext(WorkOut workout))
{
if (mWorkoutContext == null)
{
mWorkoutContext = new WorkoutContext (form);
}
else
{
if (workout != mWorkoutContext.WorkOut)
{
mWorkoutContext = new WorkoutContext (workout);
}
}
return mWorkoutContext ;
}
}
입니다 WorkOutContext
에 대한 인스턴스를 만들지 만 요청 프로세스 완료 후 인스턴스를 릴리스하지 않습니다.
public class WorkoutContext {
protected WorkoutContext mWorkoutContext ;
protected WorkOut mWorkOut;
protected WorkoutContext(WorkOut workout)
{
mWorkOut= workout;
}
public static WorkoutContext CreateContext(WorkOut workout))
{
return new WorkoutContext(workout);
}
}
같은 WorkOut
예를 들어 WorkoutContext
인스턴스를 하나만 가지고 구현하는 다른 방법이 있나요를 따를 때이 문제가 CreateContext
방법을 수정 극복합니다. 이 같은
사전에 개체 인스턴스를 개최한다 제안 된 방법으로, 우리는 사용자 완료 그의 처리 후 인스턴스를 삭제할 수 있습니다 빈도. 전의. 윈저에는 완성 된 요청에 대한 객체 인스턴스 업데이트를 유지하는 라이프 스타일이 있습니다. (PerWebRequestLifeStyle) 윈저 성과 함께이 시나리오를 극복 할 수 있습니다. – VIJAY